![在 Windows 上清空 rewrite.log,RewriteLogLevel 位于 httpd.conf 中](https://linux22.com/image/580517/%E5%9C%A8%20Windows%20%E4%B8%8A%E6%B8%85%E7%A9%BA%20rewrite.log%EF%BC%8CRewriteLogLevel%20%E4%BD%8D%E4%BA%8E%20httpd.conf%20%E4%B8%AD.png)
我在 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