我得到一个"网页有一个重定向循环"的错误。这很可能是由于我的Apache重写配置。我以前遇到过这些问题,并且发现它们很难调试。是否有某种日志可以让我看到请求被重定向到什么地方?
如果没有,如何以有效的方式调试Apache重写?
如果您使用的是较新的Apache版本(我正在使用2.4进行测试),RewriteLog指令已被新的每个模块日志记录配置所取代(请参阅Apache文档)。
现在您需要在配置中放入以下行:
LogLevel alert rewrite:trace3
和检查您的错误日志重写模块消息。
tail -f error_log|fgrep '[重写:'
你可以通过"RewriteLog"指令配置mod_rewrite的日志文件。
例如:RewriteLog "/usr/local/var/apache/logs/rewrite.log"
更多信息请参见:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog
另一个我发现自己要回到的链接是"疯狂的高级mod_rewrite"——那里有很多信息,你可能想要隐藏起来供将来参考。地址:http://www.askapache.com/htaccess/crazy-advanced-mod_rewrite-tutorial.html
参见RewriteLog
和RewriteLogLevel
指令