【问题标题】:.Htaccess mod_rewrite: many RewriteCond to many RewriteRules for Drupal.Htaccess mod_rewrite:Drupal 的许多 RewriteCond 到许多 RewriteRules
【发布时间】:2012-02-14 07:21:25
【问题描述】:

我在 drupal 中,并在他们想要 png 文件(例如 image.png)时尝试重定向请求,当我在 <IfModule mod_rewrite.c> 末尾添加此规则时没有任何影响。

原始htaccess:

<IfModule mod_rewrite.c> 
  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

我的附加规则:

  #
  RewriteCond %{REQUEST_FILENAME} image.png$ [NC]
  RewriteCond %{HTTP_REFERER} !^$ 
  RewriteRule ^(.*)$ http://192.168.1.101/trackback  

我猜有些东西会忽略/覆盖我的规则。

【问题讨论】:

  • 你到底想在这里做什么:RewriteCond %{HTTP_REFERER} !^$RewriteRule ^(.*)$ http://192.168.1.101/trackback
  • 不重要!只想重定向!我不知道谁得到这个帖子-1!他听不懂问题,只给-1!
  • 看,如果你想要一个正确的答案,我们将需要详细信息!在没有referer 的情况下,您是否尝试在请求image.png 时重定向到http://192.168.1.101/trackback
  • 你知道的!我只是在其他人的末尾附加一个重写规则,当有人请求image.png我想htaccess将它重定向到192.168.1.101/trackback\index.php中的一个php文件@
  • 你的规则看起来不错。他们在哪里?还有其他重写规则吗?

标签: .htaccess drupal mod-rewrite redirect


【解决方案1】:

如果我对您的理解正确,您在现有的 Drupal 重写规则下方添加了您的规则。但请注意 Drupal 重写中的 [L, QSA] 部分 - 'L' 表示这应该是处理的最后一条规则,如果条件匹配。因此,只要文档根目录的顶层没有“image.png”,Drupal 规则就会匹配并在您的规则被处理之前触发重定向。

尝试将您的添加移到 Drupal 块之上。

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 2011-09-30
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多