0

我想避免 nginx 错误消息丢失像“apple-touch...png”这样的文件,我看到两个选项:

  1. 为所有项目中的所有 apple-touch....png 文件创建一个空文件(使用 Bash 脚本)
  2. 让 nginx 为这些文件返回一个空文件(在所有虚拟服务器中使用包含语句)

这些方法中的哪一种更受欢迎,或者有更好的方法来处理这些?

4

1 回答 1

1

如果您正在尝试保持干净的访问日志,那么您可以这样做

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_files

location ~* \.(jpg|jpeg|gif|png|ico)$ {
# or location ~* apple-touch.png if you want
   try_files $uri /images/empty.gif;
}

如果$uri不存在,它将/images/empty.gif在此示例中提供第二张图像。

于 2013-07-20T13:22:39.460 回答