Favicon只显示我输入www.websitename.com而不是websitename.com
为什么会发生这种情况,如何在websitename.com上显示favicons。
答案 0 :(得分:0)
默认的favicon只是从HTTP请求的当前Host
下载,加上`/favicon.ico' - 这两个示例中的主机不同。没有任何东西可以说宿主前面有一个“www”。与没有前面的“www。”的主机有任何共同之处。
有三种情况可能适用于您。
favicon可能来自名为favicon.ico的文字文件,位于您的文档根目录中。在这种情况下,您需要检查服务器的vhost(虚拟主机)配置是否已设置为同等地解析主机“www.websitename.com”和“websitename.com”与完全相同的文件集。 (虽然一般来说,这不是一个好主意。见下面的N.B.。)
可以从文件(几乎任何名称,位于文档根目录内部或外部)提供favicon,服务器配置将其设置为您的favicon。因此,请检查服务器配置,并确保确定favicon位置的规则适用于两个主机,无需和不带前导“www”。再一次,这些通常是完全不同的主机,并且服务器通常不会假设它们之间存在任何共同点。
您可能会在每个文件中使用link
HTML标记单独指定favicon。如果是这样,请确保在每个主机上加载相同的HTML文件,如答案1中所示,并按照此格式为您link
标记。 (您当前的rel
属性看起来不会触发大多数浏览器显示图标。)
N.B。这些主机被认为不等同的原因是有充分理由的。考虑一下您的一半访问者使用“www”随机链接到您网站上的文章的情况。其中一半没有。想象一下,这也适用于其他所有网站。然后慢慢地,互联网,搜索引擎,书签变得无用地填满了每个资源的多个链接。对于每个不同的链接,所有内容都会被抓取至少两倍,资源会不断浪费,永远浪费。
因此,最好只在一个主机(无论您喜欢哪个)下访问您的主体内容,并将另一个主机重定向到正确主机的主页。从长远来看,这将有助于您自己的服务器,也将帮助您和互联网。通过仅允许规范链接在短期内工作,可以确保从长远来看只存在规范链接。