如何在Apache2服务器上启用loglevel debug

Tig*_*ger 56 debugging error-logging apache2

我的error.log包含:

由于可能的配置错误,请求超出了10个内部重定向的限制.如有必要,使用'LimitInternalRecursion'增加限制.使用"LogLevel debug"获取回溯.

我在apache配置文件上替换了loglevel:

LogLevel debug

重新启动后,我收到相同的错误消息,而没有什么可以被称为"回溯".据我所知,mod_rewrite正则表达式应该有10行重定向.

在互联网上搜索之后,我发现了很多关于loglevel和mod_rewrite的解释,但没有说明如何使loglevel调试工作.

有任何想法吗?

sp0*_*00n 67

请注意,新的Apache版本RewriteLog,并RewriteLogLevel已被删除,而事实上是在试图启动Apache(至少在我的XAMPP安装的Apache 2.4.2)时,现在将触发一个错误:

AH00526:path/to/config/file.conf的第xx行语法错误:无效命令'RewriteLog',可能拼写错误或由服务器配置中未包含的模块定义

相反,你现在应该使用通用LogLevel指令,其级别trace1高达trace8.'debug'没有在我的日志中显示任何重写消息.

例: LogLevel warn rewrite:trace3

有关官方文档,请参阅此处.

当然这也意味着现在您的重写日志将写入常规错误日志文件中,您必须自己对其进行排序.


bra*_*dym 36

对于旧版本的apache:

要调试mod_rewrite问题,您需要使用RewriteLogLevel和RewriteLog:

RewriteLogLevel 3
RewriteLog "/usr/local/var/apache/logs/rewrite.log"
Run Code Online (Sandbox Code Playgroud)

编辑:请注意,这个答案是3年以上.对于较新版本的apache,请参阅sp00n的答案.为旧版本的apache用户留下这个答案.

  • @adityamenon如果你正在使用apache 2.3.6或更高版本它可以进入.htaccess,否则它必须进入vhost定义. (3认同)

Ste*_*ing 27

您需要使用LogLevel rewrite:trace3httpd.conf在新版本 http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging