Favicon“无法显示,因为它包含错误”

时间:2013-12-19 05:04:22

标签: .htaccess favicon

我有一个与我的网站链接的favicon.ico。

<link rel="shortcut icon" href="http://nameofsite.com/favicon.ico" type="image/x-icon" />

但是,您会注意到,当您访问时,会收到错误消息:

  

无法显示图像“链接到图像”,因为它包含错误。

我尝试将favicon.ico文件上传到另一台服务器,并且加载时没有任何问题。 这让我相信也许我的htaccess文件正在影响它?

在我的htaccess文件中,我确保添加排除任何处理'ico'扩展名的规则,以便可以查看ico文件。 一些规则包括:

# SITE NAVIGATION

    # Checks to see if the user is attempting to access a valid file,
    # such as an image or css document, if this isn't true it sends the
    # request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(css|gif|jpg|jpeg|png|ico|txt|xml|js|pdf|html)$ /root/to/public_html/nameofsite.com/index.php [NC,L]

# ANTI-HOTLINKING

    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?nameofsite.com(/)?.*$ [NC]
    RewriteRule .*\.(gif|jpg|jpeg|bmp|png|ico|css|js|pdf)$ http://nameofsite.com [R,NC]

但是,我发现这些规则没有任何错误。 欢迎任何建议,我有点不知所措。

1 个答案:

答案 0 :(得分:0)

尝试重新上传您的favicon.ico文件,它是空的:

$ curl -i http://thejadednetwork.com/favicon.ico
HTTP/1.1 200 OK
Date: Thu, 19 Dec 2013 10:15:00 GMT
Server: Apache
Last-Modified: Mon, 24 Sep 2012 01:13:21 GMT
Accept-Ranges: bytes
Content-Length: 0
Content-Type: image/x-icon

另一个建议,这条规则:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?nameofsite.com(/)?.*$ [NC]

也会匹配http://nameofsite-com.example.com/。你可能意味着:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?nameofsite\.com(/|$) [NC]