Apache:在哪里检查redirect日志?

我在一台机器上复制了RewriteCondRewriteRul e。 根据这些规则,一些请求将被redirect到另一台机器。 那么有没有一个Apache日志清楚地显示redirect是如何发生的? 因为redirect正在以我没有预料到的方式发生。

您需要在虚拟主机或服务器configuration中启用重写日志

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

请参阅http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog

对于外行,这是你应该如何写你的* .conf文件:

  NameVirtualHost *:80 <VirtualHost *:80 > ServerName gw.myserver.net DocumentRoot "C:\Program Files\MyCompany\myserver\Web" DirectoryIndex index.html index.php RewriteLog "logs\rewritelog.txt" RewriteLogLevel 3 <Directory "C:\Program Files\ MyCompany\ myserver\Web"> AddDefaultCharset UTF-8 Order Deny,Allow Allow from all RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^gw\. myserver\.net$ RewriteRule !^(login|index.php) http://pmmenu. myserver\.net%{REQUEST_URI}$1 [L,R=301] # we check if the .html version is here (caching) RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f # no, so we redirect to our front web controller RewriteRule ^(.*)$ index.php [QSA,L] </Directory> </VirtualHost> 

您可以使用RewriteLog指令专门configurationRewrite处理的日志文件。 日志logging的数量可以通过RewriteLogLevelselect。