【发布时间】:2011-05-15 06:10:52
【问题描述】:
我一直在我的 apache 日志中看到网站图标警告。我该如何摆脱这些?我的网站必须有一个网站图标吗?
【问题讨论】:
-
您可能可以使用 mod_rewrite 发送 favicon 请求,但我不够熟练,无法告诉您具体如何...
标签: favicon
我一直在我的 apache 日志中看到网站图标警告。我该如何摆脱这些?我的网站必须有一个网站图标吗?
【问题讨论】:
标签: favicon
查看您的日志,您可能会看到这样的 404 错误:
favicon.ico:Internet Explorer、Chrome……apple-touch-icon.png:iOS 设备、Android,也许还有其他一些设备apple-touch-icon-precomposed.png:iOS 设备、Android,可能还有其他一些设备apple-touch-icon-76x76.png:iOS,可能还有其他设备apple-touch-icon-120x120.png:iOS,可能还有其他设备apple-touch-icon-152x152.png: iOS,可能还有其他设备如果您绝对不想将网站图标添加到您的网站,您可以应用其他答案中描述的解决方案:
但是,现在网站图标非常普遍,您可能想在自己的网站上添加一个。这个favicon generator 一次创建所有这些文件。全面披露:我是这个网站的创建者。
【讨论】:
你并不真的需要它,但正如其他人所说,即使<link rel="shortcut icon" /> 中没有指定,一些浏览器也会要求它。
我不是专家,但我玩过mod_rewrite,你可以这样做:
# turn on the mod_rewrite module
RewriteEngine On
# if requested file is not an existing file
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
# and it's name is favicon.ico, send an empty 410 GONE response to the browser
RewriteRule .*favicon\.ico$ - [G]
我只在我的本地主机上尝试过:第一个请求导致 410,但对于所有后续请求,浏览器不会要求该文件,因为它记得它已经消失了。
我不确定您应该如何使用 410 GONE 状态,也不确定它是否能 100% 工作。
【讨论】:
Johan Petersson 在http://www.trilithium.com/johan/2005/02/no-favicon/http://www.trilithium.com/johan/2005/02/no-favicon/ 上提供了一个很好的答案来防止文件未找到错误而不使用网站图标
将以下代码放置在 httpd.conf 的虚拟主机部分(或您定义站点环境的任何位置),应该可以停止 Apache 错误日志中出现的错误:
# Don't bother looking for favicon.ico
Redirect 404 /favicon.ico
# Don't bother sending the custom error page for favicon.ico
<Location /favicon.ico>
ErrorDocument 404 "No favicon
</Location>
或者,您可以创建一个空白文件并将其命名为 favicon.ico,并将其放在站点的根目录中。
【讨论】:
/favicon.ico 是 Browser Dark Ages (cca 2000) 的产物之一。虽然无法阻止浏览器请求,但创建一个名为 favicon.ico 的 0 字节文件会结束 404 错误流程(因为该文件存在),但浏览器不会显示您网站的 favicon。
【讨论】:
网络浏览器使用它来显示您在收藏夹中看到的图像以及标签的图标。例如当您转到 stackoverflow 时,您在选项卡中看到的酷图标如下所示: 由我的浏览器(chrome)使用 url 自动获取:https://stackoverflow.com/favicon.ico。它非常标准,所以如果您不希望它出现在您的日志中,您应该在 httpdocs 中放置一些图标并将其重命名为 favicon.ico。
【讨论】:
您不需要,不,但某些浏览器会自动请求/favicon.ico,因此错误几乎是不可避免的。
【讨论】:
真的不需要。
但是它在您的网站上使用(警告)。
检查您网站的来源,看看它是否包含:
<link rel="shortcut icon" href="favicon.ico">
在页面的头部。
删除该行或添加网站图标以防止日志中出现错误。
【讨论】: