Web apple-touch.png:在nginx中创建大小为0的文件或句柄?
我希望避免因“apple touch…png”等丢失文件而出现nginx错误消息,我看到两个选项:Web apple-touch.png:在nginx中创建大小为0的文件或句柄?,web,nginx,Web,Nginx,我希望避免因“apple touch…png”等丢失文件而出现nginx错误消息,我看到两个选项: 为所有项目中的所有apple touch…png文件创建一个空文件(使用Bash脚本) 使nginx为这些文件返回一个空文件(在所有虚拟服务器中使用include语句) 以下哪种方法是首选的,或者有更好的方法来处理这些问题?如果您尝试的是保持一个干净的访问日志,那么您可以这样做 location ~* \.(jpg|jpeg|gif|png|ico)$ { access_log
以下哪种方法是首选的,或者有更好的方法来处理这些问题?如果您尝试的是保持一个干净的访问日志,那么您可以这样做
location ~* \.(jpg|jpeg|gif|png|ico)$ {
access_log off;
log_not_found off;
}
或者你可以
location ~* apple-touch.png {
empty_gif;
}
这将使nginx提供一个1px x 1px
空的gif文件。
编辑:使用try\u文件
location ~* \.(jpg|jpeg|gif|png|ico)$ {
# or location ~* apple-touch.png if you want
try_files $uri /images/empty.gif;
}
如果
$uri
不存在,它将提供第二个图像,而不是本例中的/images/empty.gif
。有趣!当图像存在时(如果某些域中有一些图像),我如何为它们提供服务,并在日志中对不存在的内容保持沉默?第一个log\u not\u found off
意味着如果你没有找到图像,就不要在访问日志中记录404,这不是你想要的吗?你可能是对的:)我会试试!两个问题:1)我必须将此块添加到每个服务器定义中,对吗?2) try\u文件可以用于相同的目的吗?