我们将我们的网站迁移到 VPS 服务器(CentOS 5.6 + Plesk 9.5)上,一切运行良好,但我在 Plesk 中注意到一个奇怪的事情,那就是 error_log 文件,大多数时候它都充满了数百个条目,例如:
...
[Thu Aug 10 11:35:48 2011] [error] [client xx.xx.xx.xx] File does not exist: /var/www/vhosts/yourdomain.com/httpdocs/category1
[Thu Aug 10 11:35:48 2011] [error] [client xx.xx.xx.xx] File does not exist: /var/www/vhosts/yourdomain.com/httpdocs/category2
....
如果我在 Web 浏览器中打开这些 URL,(ex. http://yourdomain.com/category2)
一切都会正常,没有 404 错误,标头响应 200,所以一切都会正常,我可以看到我想要的页面。但为什么日志文件将其视为错误并指出文件不存在?另外我想说的是,“category1”、“category2”不是物理目录,而是 .htacess 和 mod_rewrite 管理的路径,所以不是真正的文件夹。
mod_rewrite 似乎没有正确地告诉日志系统,当请求看起来像一个物理上不存在但由 mod_rewrite 处理的文件/文件夹时,该请求不应被视为 404。
任何帮助我都感激不尽。谢谢。
蒂姆
答案1
尝试使用 rewritelog 指令来查看发生了什么:
RewriteLog ~/tracefile.rewrite.log
RewriteLogLevel 9
RewriteEngine On
(请记住你必须声明前激活 RewriteEngine(这是合乎逻辑的))。