Ответы:
Вы можете попробовать метод, упомянутый в сообщении в блоге под названием A Couple Ways to Debug mod_rewrite :
По сути, вы делаете дамп некоторой информации, которую mod_rewrite использует обратно в заголовки, затем используете расширения Firebug или LiveHTTP Headers в Firefox для просмотра заголовков и чтения информации отладки.
В .htaccess используйте условие и правило:
RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://www.example.com/$1?vardump&thereq=%{THE_REQUEST}&reqhost=%{HTTP_HOST} [R=301,L,QSA]
Попробуйте эти:
RewriteLog "/myfolder/mylogfile.log"
RewriteLogLevel 3
Это просто регулярные выражения с некоторыми дополнениями, поэтому вы можете использовать Regex Coach для первоначального тестирования по URL-адресам или любые другие средства отладки Regex.
Ура! :)
.htaccess
файлах. Это должно произойти, httpd.conf
что означает, что это обычно не достижимо на учетных записях общего хостинга. :-(
Вот небольшой интересный хак для "вывода" переменных из файла .htaccess.
Если для AllowOverride задано значение FileInfo, вы можете установить и запустить пользовательский ответ об ошибке в файле .htaccess с нужными переменными в выходных данных:
ErrorDocument 404 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=404]
В зависимости от того, насколько вы креативны с выражениями, вы можете вывести много полезной информации!
Вы не ограничены использованием статуса 404 в своем «отраженном» контенте. Вы даже можете переопределить статус 200 «ErrorDocument» - что в сочетании с <If>
директивами может привести к некоторым другим довольно интересным способам использования этого хака для возврата содержимого непосредственно из файла .htaccess.