Адаптируйте Apache mod_rewrite RewriteRule не для работы с физическими каталогами

StackOverflow https://stackoverflow.com/questions/125850

  •  02-07-2019
  •  | 
  •  

Вопрос

У меня есть этот RewriteRule, который работает слишком хорошо :-)

RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]

Плохо в этом правиле то, что оно также соответствует физическим каталогам, которые мне не нужны.

Как я могу определить mod_rewrite игнорировать физические каталоги и применять приведенное выше правило только тогда, когда соответствующий каталог не существует?

Это было полезно?

Решение

Взгляните на Перезаписываемая секунда.Укажите следующее перед вашим правилом исключения каталогов и файлов

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

Другие советы

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top