Apache:在哪里检查重定向日志?

Apache:在哪里检查重定向日志?

我在一台机器上进行了复杂处理RewriteCondRewriteRule根据这些规则,一些请求将被重定向到另一台机器。

那么是否有任何 Apache 日志可以清楚地显示重定向是如何发生的?因为重定向是以我没有预料到的方式发生的。

答案1

对于初学者来说,您应该这样编写 *.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>

答案2

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

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

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

答案3

Rewrite您可以配置专门用于处理的日志文件RewriteLog指令。可以使用 选择日志记录量RewriteLogLevel

相关内容