RewriteRule Последний игнорируемый флаг - PullRequest
1 голос
/ 30 июня 2011

Я не понимаю, что если правило перезаписи совпадает, и у него есть флаг Last [L], то оно все еще выполняет приведенные ниже правила.Я перенаправляю все вызовы в общую папку, но я добавил исключение для изображений, но это исключение игнорируется.Я думал, что с флагом [L], если правило соответствует, он прекращает поиск правил ниже.

Это мой файл .htaccess:

RewriteRule ^image/(.*)/?$ image.php?t=$1 [L]

RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

Если я удаляю нижние 2 правила, этоработает.

Заранее спасибо

1 Ответ

3 голосов
/ 30 июня 2011

Не игнорируется.Это специфика .htaccess.Он запускается каждый раз при изменении URL.

Попробуйте вместо этого.

RewriteEngine on

RewriteCond %{QUERY_STRING} rewritten
RewriteRule .* - [L]

RewriteRule ^image/(.*)/?$ image.php?t=$1&rewritten=1 [L,QSA]
RewriteRule ^$ public/?rewritten=1 [L,QSA]
RewriteRule (.*) public/$1?rewritten=1 [L,QSA]
...