Отладка mod_rewrite

Каждый раз работа с .htaccess и mod_rewrite становится для меня испытанием. Я не так часто сталкиваюсь с ними и потому мои знания несколько разрозненны, да и логи, которые предлагается использовать в качестве средства отладки доступны далеко не всегда. Уже несколько раз я сталкивался с ситуацией, когда .htaccess переставал работать при переносе файлов с локальной машины на сервер.

Включение логов для mod_rewrite

<IfModule mod_rewrite.c>
RewriteLog "/home/rob4/www/logs/rewrite.log"
RewriteLogLevel 3
</IfModule>

Недавно наткнулся на статью, которая предлагает использовать возможности самого mod_rewrite для отладки

RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) %{REQUEST_URI}?vardump=1&r=%{REQUEST_URI} [R=302,L,QSA]

Все запросы будут обработаны этим правилом и для каждого из них сервер выполнит редирект, выведя в строке запроса необходимые параметры. В данном случае get-переменная r - будет содержать запрос (REQUEST_URI). Аналогичным образом можно вывести другие переменные.

Переменная vardump используется для того, чтобы избежать зацикливания mod_rewrite и гарантировать, что правлио будет использовано лишь однажды, для каждого запроса.

Читайте в блоге

Использование md5 в Oracle.

Метки: .htaccess

Комментарии:

Войдите на сайт, чтобы оставить комментарий