在 Windows 上清空 rewrite.log,RewriteLogLevel 位于 httpd.conf 中

在 Windows 上清空 rewrite.log,RewriteLogLevel 位于 httpd.conf 中

我在 Apache 2.2、Windows 7 上使用 mod_rewrite,它正在运行...只是我没有看到任何日志信息。

我在 httpd.conf 的末尾添加了以下几行:

RewriteLog "c:\wamp\logs\rewrite.log"
RewriteLogLevel 9

日志文件是在 Apache 启动时创建的(因此这不是权限问题),但它仍然是空的。我以为某个地方可能有冲突的RewriteLogLevel语句,但我检查了一下,并没有。

还有什么可能导致这种情况?

这可能是由于 Apache 没有刷新日志文件造成的吗?(我通过在 httpd.exe 命令上按 CTRL-C 来关闭它...这导致访问日志被刷新到磁盘,但 rewrite.log 中仍然没有任何内容)

我的(部分) httpd-vhosts.conf:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName my.domain.com
    DocumentRoot c:\wamp\www\folder

    <Directory c:\wamp\www\folder>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all

        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteBase /

            RewriteRule . everything-redirects-to-this.php [L]
        </IfModule>
    </Directory>
</VirtualHost>

答案1

如何像我为每个 vhost 所做的那样,在 vhost 中添加错误日志,例如:

<VirtualHost *>

    ServerAdmin [email protected]
    DocumentRoot "/web/htdocs/olivier/xxx/prod/website"

    ServerName xxx.fr
    ServerAlias *.xxx.fr
    ErrorLog "/web/logs/xxx.error.log"
    ...
    ...
    ...

</VirtualHost>

答案2

答案3

我远非 Apache 专家,但我确实注意到您有:

AllowOverride None

在下面

我的理解是,这需要:

AllowOverride All

相关内容