我的 favicon.ico 是否必须存储在我的域的根目录下?或者我可以将我的网站图标存储在另一个域上吗?

意思是,从 www.example.com, ,这有效吗?

<link rel="shortcut icon" href="http://MY-CDN.example.com/favicon.ico" />

我想要做的是从我的 CDN 提供我的 www.example.com 网站图标。这个可以吗?我应该了解有关浏览器兼容性、性能等的任何负面信息。

有帮助吗?

解决方案

是的。直接看这个页面的源代码:

<link rel="shortcut icon" href="http://sstatic.net/so/favicon.ico">

然而,一些用户代理仍然会尝试在您的域的根部获取它,您可能需要设置一个重定向以指向那里,这样您就不会收到 404 错误。

meder@meder-desktop:~$ curl -v http://stackoverflow.com/favicon.ico
* About to connect() to stackoverflow.com port 80 (#0)
*   Trying 69.59.196.211... connected
* Connected to stackoverflow.com (69.59.196.211) port 80 (#0)
> GET /favicon.ico HTTP/1.1
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
> Host: stackoverflow.com
> Accept: */*
> 
< HTTP/1.1 302 Redirect
< Content-Type: text/html; charset=UTF-8
< Location: http://sstatic.net/so/favicon.ico
< Server: Microsoft-IIS/7.0
< Date: Tue, 05 Jan 2010 01:54:23 GMT
< Content-Length: 156
< 
<head><title>Document Moved</title></head>
* Connection #0 to host stackoverflow.com left intact
* Closing connection #0
<body><h1>Object Moved</h1>This document may be found <a HREF="http://sstatic.net/so/favicon.ico">here</a></body>

其他提示

您可以轻松地在你的头向CDN指向该文件做到这一点。如:

<link rel="shortcut icon" href="//cdn.perfmatters.io/favicon.ico" type="image/x-icon" />

有关更深入的细节我想看看下面的教程,它有你需要如何来承载您的图标在您的CDN,而不是一切。 https://www.keycdn.com/blog/make-a-favicon/

这绝不是你可以做的最重要的优化,但同样,一切计数和增加了。特别是如果你要一个的单个HTTP / 2连接

scroll top