如果访问者收到 404 错误,则 apache 中不会写入任何内容 error.log
.在访问日志中显示如下:
GET /qqq HTTP/1.1" 404 409 "-"
在
error.log
中什么也没有.我已经尝试了有关 LogLevel
的所有内容.据我了解,这是因为 404 页面是自定义页面,例如ErrorDocument 404 /new404.html
但我搜索所有
/etc/apache2
对于文件中的文本“404”,在那里找不到任何内容(而不是注释行)。可能是什么问题?或者我可以在 .htaccess
中以某种方式禁用自定义 404 页面文件?或任何其他方式在 error.log
中显示 404 错误?
最佳答案
作为提交 Apache bug 的人从 Apache 2.4.1 开始,将 404 从错误级别降级为信息级别,理由如下:
在对 Internet 开放的生产 HTTP 服务器中,404 一直发生。恶意软件、扫描程序脚本和各种其他东西会探测 Web 服务器是否存在漏洞或仅仅因为它们可以,并且这些东西都会触发错误,如果设置了适当的错误级别,这些错误最终会被记录在某个地方。
大多数生产 Web 服务器管理员都满足于在他们的访问日志中看到 404(与 200 和 30x 重定向一起记录),并希望在错误日志中看到真正的服务器问题——他们可以控制修复的事情。在某些服务器中,error.log 中 404 的日志记录可能是大量日志垃圾邮件,以至于淹没了需要管理员注意的合法问题。
404 是内容问题,而不是服务器问题。所以我的建议是查看您的 access.log(或等效文件)。如果您真的希望在 error.log 中记录与内容相关的问题,则需要设置 LogLevel core:info
.这将为您提供 404,以及其他一些与内容相关的错误消息。
关于apache - Apache error.log 中未出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36568205/