如何禁用因图像文件丢失而记录的 apache 日志?

如何禁用因图像文件丢失而记录的 apache 日志?

我们如何指定扩展文件以在 apache 的日志错误中过滤它?

我的 error.log 填充了:

[2014 年 11 月 27 日星期四 22:42:42] [错误] [客户端 42.42.42.42] 文件不存在:/var/www/site/images/foo.PNG

就我而言,当 .png、.jpg、.gif 丢失时,我想避免将它们写入错误日志。

我怎样才能做到这一点?

答案1

那么最好的办法当然是修复网站内容,这样就不会出现损坏的图像链接;)

关于ErrorLog

无法通过添加或删除信息来定制错误日志。

因此您无法排除特定的错误消息。可以使用LogLevel指令。例如:

LogLevel crit
ErrorLog error_log

更好的选择可能是设置重写规则,将损坏的图像重定向到库存图像,例如

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$ 
RewriteRule (.*) /images/broken-image.png [L]

答案2

快速而肮脏:

shell命令将修复ErrorLog(您无法自定义)

touch /var/www/site/images/foo.PNG

为了不让该空文件出现在您的 CustomLog 中,请使用:

SetEnvIfNoCase Request_URI "foo\.png$" dontlog
CustomLog log/access_example.com.log env=!dontlog

相关内容