mod_rewrite:[OR]和隐式[AND]的优先级

时间:2011-10-20 13:00:26

标签: mod-rewrite operator-precedence

是否可以使用mod_rewrite检查 X和(Y或Z)

我有以下规则为我的网站的访客提供dummy.png,他们没有2个Cookie id auth 设置(我在我的网站上设置了这些注册用户的自定义Drupal模块):

   RewriteCond %{REQUEST_URI} ^/sites/default/files/pictures/picture-
   RewriteCond %{HTTP_COOKIE} !auth [OR]
   RewriteCond %{HTTP_COOKIE} !id
   RewriteRule .+ /images/dummy.png [L]

但我不确定它是否按预期工作(可能是(X和Y)或Z ?)

1 个答案:

答案 0 :(得分:1)

您可以让RewriteRule处理URI模式匹配。无需在RewriteCond中执行此操作。对于其他URL,前两个条件可能匹配,但规则本身不会,也不会进行重写。

RewriteCond %{HTTP_COOKIE} !auth [OR]
RewriteCond %{HTTP_COOKIE} !id
RewriteRule ^/sites/default/files/pictures/picture-.+ /images/dummy.png [L]