我想启用重写日志来调试一些给我带来问题的重写规则。所以我在 httpd.conf 文件的末尾添加了这些行:
<IfModule mod_rewrite.c>
RewriteLog "/logs/rewrite.log"
RewriteLogLevel 4
</IfModule>
接下来我做的是重启Apache。但它会导致错误,并且无法启动。这是我在XAMPP控制面板中得到的结果:
13:14:56 [Apache] Error: Apache shutdown unexpectedly.
13:14:56 [Apache] This may be due to a blocked port, missing dependencies,
13:14:56 [Apache] improper privileges, a crash, or a shutdown by another method.
13:14:56 [Apache] Check the "/xampp/apache/logs/error.log" file
13:14:56 [Apache] and the Windows Event Viewer for more clues
我在 error.log 中没有任何线索。事实上,当发生此错误时,不会生成任何行。
我也尝试更改RewriteLog行以使用绝对路径:
RewriteLog "c:\xampp\apache\logs\rewrite.log"
你能帮我吗?
答案 0 :(得分:31)
哪个版本的Apache?
在2.4中,RewriteLog *指令不再存在,因为已重写日志记录。在这种情况下,您应该将mod_rewrite.c:trace3
附加到LogLevel
行,其中traceX是详细程度(8&gt; = X&gt; = 1)。输出将写入Apache标准错误日志(ErrorLog
)。
您还可以运行以下命令:
httpd -t
(语法检查)然后httpd -w
(运行Apache但保持打开控制台,用作stderr)