Что значит директива RewriteCond в Apache?

Рассмотрим пример:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index.php [L]

Директивы RewriteCond задают условия для, следующей после них, директивы RewriteRule. Т.е. сами по себе они не применяются, после них должна идти директива, на которую они влияют.

В частности !-f требует, чтобы правило RewriteRule применялось только в том случае, если запросу не соответствует физически существующий файл, а !-d — запрос не должен применяться, если запрашивается физически существующая папка. Таким образом, правило в RewriteRule, следующее за этими директивами будет касаться только виртуальных URL для которых нет папки или файла на диске сервера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *