【问题标题】:Favicon only showing with www.websitename.com not websitename.comFavicon 仅显示 www.websitename.com 而不是 websitename.com
【发布时间】:2014-01-06 09:38:13
【问题描述】:

网站图标仅在我输入 www.websitename.com 而不是 websitename.com 时显示

为什么会发生这种情况以及如何使网站图标显示在 websitename.com 上。

【问题讨论】:

  • 你如何在<link />标签中加入href你的favicon?
  • 您的 rel 属性似乎是某些 Apple 移动产品所特有的。尝试将rel 更改为“快捷方式图标”并更新 URL(例如,更新为同一 PNG 文件的副本)以破坏缓存,以防由于某种原因在第一次加载图标时发生错误。此外,也许您的服务器配置为阻止来自其他主机的图像请求,因此它可能不提供 PNG 图标,除非在同源主机上。

标签: favicon


【解决方案1】:

默认的favicon只是简单地从HTTP请求的当前Host下载,加上`/favicon.ico'——在你的两个例子中这个主机是不同的。没有任何内容表明主机前面带有“www”。与没有前面“www”的主机有任何共同点。

三种情况可能适用于您。

  1. 网站图标可能来自名为 favicon.ico 的文字文件,位于您的文档根目录中。在这种情况下,您需要检查服务器的虚拟主机(虚拟主机)配置是否已设置为将主机“www.websitename.com”和“websitename.com”等效地解析为完全相同的文件集。 (虽然一般来说,这不是一个好主意。请参阅下面的注解。)

  2. 网站图标可能来自一个文件(几乎可以命名并位于文档根目录内部或外部),该文件由服务器配置设置为您的网站图标。因此,检查服务器配置并确保确定网站图标位置的规则适用于没有和没有前导“www”的主机。再说一次,它们通常是完全不同的主机,服务器通常不会假设它们之间有任何共同点。

  3. 您可能在每个文件中使用link HTML 标记单独指定网站图标。如果是这样,请确保在每个主机上加载相同的 HTML 文件,如答案 1 所示,并为您遵循此格式 link 标签。 (您当前的 rel 属性看起来不会触发大多数浏览器显示图标。)

    Necessary to add link tag for favicon.ico?

注意这些主机不被视为等效是有充分理由的。考虑一下这样一种情况,即一半的访问者随机链接到您网站上带有“www”的文章。其中一半没有。想象一下这也发生在其他所有网站上。然后慢慢地互联网,搜索引擎,书签变得无用地填充了每个资源的多个链接。对于每个不同的链接,所有内容的抓取频率至少是两倍,而且资源会被永远浪费掉。

因此,最好让您的主要内容只能在一个主机下访问(无论您喜欢哪个主机),然后将另一台主机重定向到正确主机的主页。从长远来看,这将有助于您自己的服务器,也将有助于您和互联网。通过只允许规范链接在短期内工作,可以确保从长远来看只有规范链接存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 2019-03-21
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    相关资源
    最近更新 更多