mod_rewrite: приоритет [OR] и неявный [AND] - PullRequest
3 голосов
/ 20 октября 2011

Можно ли проверить X и (Y или Z) * ​​1002 * с mod_rewrite ?

У меня есть следующее правило, чтобы служить 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 Ответ

1 голос
/ 20 октября 2011

Вы можете позволить RewriteRule обрабатывать сопоставление с шаблоном URI. Нет необходимости делать это в RewriteCond. Для других URL-адресов первые два условия могут совпадать, но само правило не будет, и перезапись не будет.

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