Как отладить Apache mod переписать



У меня есть две основные проблемы с mod_rewrite:



1) нет никакой значимой ошибки, когда у меня есть недопустимое правило



enter image description here



2) чтобы надежно проверить каждую модификацию, я должен стереть кэш chrome. Это не ракетостроение, но я должен нажать Ctrl+Shift+Delete, затем нажмите OK, затем закройте окно и перезагрузите.



Я хотел бы посмотреть, если любой из гуру готовы поделиться своими секретами для эффективного управления mod_rewrite код.

595   5  

5 ответов:

один трюк, чтобы включить переписывать журнал. Чтобы включить его,попробуйте эти строки в вашей основной конфигурации apache или текущем файле виртуального хоста (не на .htaccess):

RewriteEngine On
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3

С Apache httpd 2.4 mod_rewrite директивы RewriteLog и RewriteLogLevel были полностью заменены новой конфигурацией ведения журнала для каждого модуля.

LogLevel alert rewrite:trace6

директива LogRewrite, упомянутая Беном, больше не доступна в Apache 2.4. Вместо этого необходимо использовать директиву LogLevel. Е. Г.

LogLevel alert rewrite:trace6

см.http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging

для основного разрешения URL-адреса используйте выборщик командной строки, например wget или curl чтобы сделать тестирование, а не ручной браузер. Тогда вам не нужно очищать кэш; просто стрелка вверх и введите в оболочку, чтобы повторно запустить тестовые выборки.

здесь htaccess tester.

Он показывает, какие условия были протестированы для определенного URL, какие из них соответствовали критериям и какие правила были выполнены.

кажется, есть некоторые глюки, хотя.

на основе Бен вы можете сделать следующее при запуске apache на Linux (Debian в моем случае).

сначала создайте файл rewrite-log.загрузить

/ etc/apache2/mods-availabe / rewrite-log.загрузить

RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3

введите

$ a2enmod rewrite-log

затем

$ service apache2 restart

и, когда вы закончите с отладкой ваших правил перезаписи

$ a2dismod rewrite-log & & service apache2 restart

Comments

    Ничего не найдено.