.Htaccess mod_rewrite:许多RewriteCond为Drupal的许多RewriteRules

时间:2012-02-14 07:21:26

标签: .htaccess drupal mod-rewrite redirect

我在drupal并尝试在需要png文件(e.x 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  

忽略/覆盖我的规则的东西我想。

1 个答案:

答案 0 :(得分:2)

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

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