Хитрости mod rewrite

Материал из Newman's WiKi.

Перейти к: навигация, поиск

Хитрости mod_rewrite рассказывает о решении специфических задач с помощью модуля rewrite из стандартной поставки вебсервера Apache. Не всегда решения могут быть оптимальными, но они рабочие - проверенные опытным путем.

Перенос домашней директории сайта

Задача: При обращении к корню сайта показывать файлы из папки /dev При этом в корне сайта могут находится папки и файлы относящиеся к другим проектам и их "трогать" нельзя.

Решение:

  • Первым условием избегаем зацикливания скрипта
  • Второе условие проверяет что запрашиваемый файл есть в папке /dev
  • Правило переписывает URL на файл в папке /dev
RewriteBase /
RewriteRule ^$ /dev/ [L]
RewriteCond %{REQUEST_URI} !^/dev/
RewriteCond /home/public_html/dev%{REQUEST_URI}	-f
RewriteRule (.*) /dev/$1?%{QUERY_STRING} [L]

Ссылки