Подтвердить что ты не робот

Как включить отладку loglevel на сервере Apache2

В моей ошибке .log содержится:

Запрос превысил предел 10 внутренних переадресаций из-за вероятной ошибки конфигурации. Используйте "LimitInternalRecursion", чтобы увеличить предел, если это необходимо. Используйте "LogLevel debug", чтобы получить обратную трассировку.

Я заменил loglevel на файле конфигурации apache:

LogLevel debug

После перезапуска я получаю такое же сообщение об ошибке без того, что можно было бы назвать "backtrace". Насколько я понимаю, должны быть эти 10 строк переадресаций, генерируемых регулярным выражением mod_rewrite.

После поиска по всему Интернету я нашел много объяснений loglevel и mod_rewrite, но не слово о том, как сделать работу отладки в loglevel.

Любые идеи?

4b9b3361

Ответ 1

Для старой версии apache:

Для отладки проблем mod_rewrite вам нужно использовать RewriteLogLevel и RewriteLog:

RewriteLogLevel 3
RewriteLog "/usr/local/var/apache/logs/rewrite.log"

Изменить: обратите внимание, что этот ответ составляет 3+ лет. Для более новых версий apache см. Ответ sp00n. Оставляя этот ответ для пользователей более старых версий apache.

Ответ 2

Обратите внимание, что в новых версиях Apache теги RewriteLog и RewriteLogLevel были удалены и на самом деле теперь будут вызывать ошибку при попытке запустить Apache (по крайней мере, на моей установке XAMPP с Apache 2.4.2):

AH00526: Синтаксическая ошибка в строке xx пути /to/config/file.conf: Недопустимая команда "RewriteLog", возможно, написана с ошибкой или определена модулем, не включенным в конфигурацию сервера.

Вместо этого вы теперь должны использовать общую директиву LogLevel с уровнем "trace1-8". "debug" не отображал никаких переписывающих сообщений в журнале для меня. Для официальной документации см. Здесь.

Конечно, это также означает, что теперь ваши журналы перезаписи будут записаны в общий файл журнала ошибок, и вам придется самостоятельно их отсортировать...