将您的 favicon.ico 文件放在非根路径中是个坏主意吗?

Posted

技术标签:

【中文标题】将您的 favicon.ico 文件放在非根路径中是个坏主意吗?【英文标题】:Is putting your favicon.ico file in a non-root path a bad idea? 【发布时间】:2014-02-17 00:30:52 【问题描述】:

浏览器何时以及如何请求 favicon.ico 文件?他们总是在 root 中检查它,还是他们首先阅读网页的内容以查看页面是否指定了位置?

我在 /images 中有我的 favicon.ico 路径 我的每个页面都有以下标签:

<link rel="shortcut icon" href="images/favicon.ico">

当我在浏览器中加载页面时,它似乎可以工作(我可以看到文件),但我不知道他们是否首先向我的根文件夹发出错误请求(文件不存在的地方) ,并稍后向该链接发出请求。

我想通过浏览器对我的站点进行错误调用来最大限度地减少 404 和浪费的带宽。

编辑:我正在寻找有关浏览器如何工作的一些见解,并请求此文件,因此我的网站结构是有效的。

【问题讨论】:

@duskwuff 提供了很好的建议。默认情况下,浏览器会在 root 中查找 favicon,只是为了让您知道。 【参考方案1】:

请记住,并非所有对您网站的请求都是针对 html 页面的!对非 HTML 内容的请求,例如裸图像文件(例如,直接在浏览器中查看 http://example.com/image.jpeg),看不到 &lt;link&gt; 标记。因此,他们必须回退到在/favicon.ico 的标准位置搜索快捷方式图标。

但这并不意味着这必须是规范位置!如果需要,您仍然可以将其保存在 /images/favicon.ico 中 - 只需确保从 /favicon.ico 重定向到您首选的位置即可。

【讨论】:

那么您是说浏览器会先查看网站的根目录,然后查看 标签,反之亦然,或者两者都不看? 浏览器会先查看&lt;link&gt;标签。但是,如果用户正在查看根本不是 HTML 页面的内容,例如图像文件或 PDF,则没有 &lt;link&gt; 标记可供参考,因此它会退回到固定路径。 很好的答案...这对我也有帮助:perishablepress.com/block-favicon-url-404-requests 底线。保存在您想要的任何地方,只需确保从根目录对 /favicon.ico 的请求有效。很好的答案! 我的根目录中有我的 favicon.ico 的副本,在不同平台的链接中有一个路径 images/favicon-24-24.png 或类似的东西。这似乎涵盖了所有情况。在这里检查你的网站图标(很棒的工具,不是我的:)realfavicongenerator.net/favicon_checker

以上是关于将您的 favicon.ico 文件放在非根路径中是个坏主意吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥看不了有的人的朋友圈favicon.ico

favicon.ico不显示

在使用vue脚手架时为啥不能加载favicon.ico图标

vue-cli 打包后显示favicon.ico小图标

我在哪里把我的 favicon 和 Hugo 放在一起

如何把favicon.ico代码放入网页版html中