如何启用Apache2服务器上的日志级别debugging

我的error.log包含:

由于可能的configuration错误,请求超出了10个内部redirect的限制。 如果需要,使用“LimitInternalRecursion”来增加限制。 使用“LogLeveldebugging”来获得回溯。

我更换了Apacheconfiguration文件的loglevel:

LogLevel debug

重新启动后,我得到相同的错误消息,没有什么可以称为“一个backtrace”。 据我所知,应该有mod_rewrite正则expression式生成的10行redirect。

在遍寻networkingsearch后,我发现了很多关于loglevel和mod_rewrite的解释,但没有介绍如何进行logleveldebugging工作。

有任何想法吗?

对于旧版本的apache:

为了debuggingmod_rewrite问题,你需要使用RewriteLogLevel和RewriteLog:

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

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

请注意,在较新的Apache版本中, RewriteLogRewriteLogLevel已被删除,实际上现在会在尝试启动Apache时触发错误(至less在Apache 2.4.2的XAMPP安装中):

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

相反,您现在应该使用通用的“LogLevel”指令,级别为“trace1-8”。 'debug'在我的日志中没有显示任何重写消息。 有关官方文档, 请参阅此处 。

当然这也意味着现在你的重写日志将被写入一般的错误日志文件中,你将不得不自己排除它们。

你需要使用LogLevel rewrite:trace3到你的httpd.conf中更新的版本http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging