【问题标题】:How do I create a rewrite rule only for certain requesting domains如何仅为某些请求域创建重写规则
【发布时间】:2015-05-17 00:20:13
【问题描述】:

我在我的 HTACCESS 文件中使用了一个重写规则,它将所有图像定向到一个 PHP 文件。

RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

此 HTACCESS 文件位于我用作其他域的 CDN 的域上。我只希望在外部域请求图像时应用该规则。

如何指定执行此操作的重写条件?

谢谢

【问题讨论】:

    标签: php apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    我只希望在外部域请求图像时应用该规则。

    您希望在 http_referer 上有一个重写条件。试试这个:

    RewriteCond %{HTTP_REFERER} !cdndomain\.com [NC]
    RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php
    

    如果没有 http_referer,因为 URL 是直接在浏览器中输入的,但您想提供真实的图像,您可以使用这个:

    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !cdndomain\.com [NC]
    RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php 
    

    【讨论】:

      【解决方案2】:

      试试这个

      RewriteCond %{HTTP_HOST} !^*.?yourdomain.com$
      RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php
      

      【讨论】:

      • 您需要添加更具体的域吗?
      • 或者您指的是控制请求图像的用户域?
      猜你喜欢
      • 2014-03-22
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      相关资源
      最近更新 更多