从favicon.ico中删除Etag

5

在我的项目中使用yslow时,我遇到了一个无法解决的“问题”。

Yslow一直在抱怨:

有1个组件具有配置不正确的ETag http://www.domain.com/favicon.ico

我在我的.htaccess文件中有以下内容:

# Add Proper MIME-Type for Favicon
AddType image/x-icon .ico

# Enable Apache's mod_expires Module
ExpiresActive On
ExpiresByType image/x-icon "access plus 6 month"

<ifModule mod_headers.c>
  Header unset ETag
</ifModule>
FileETag None

有人知道如何修复这个问题吗?

3个回答

6

添加如下内容:

ExpiresByType image/ico "access plus 1 years"

我的.htaccess文件:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A0
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresByType image/ico "access plus 1 years"
</IfModule>

Header unset ETag
FileETag None

雅虎更加积极。他们使用“加10年”。是的,RFC规定不要超过1年,但这只是一个建议。 - StackOverflowNewbie

1

嗯,这对我在Drupal(7)中没有解决问题。

将这些行添加到我的.htaccess文件中:

  ExpiresActive On
  ExpiresByType image/x-icon A604800

还将以下代码添加到我的 Apache HTTP 配置文件中:(也可以放在您的 .htaccess 文件中)

  FileETag None

我在管理员/外观/设置/[主题名称]页面上禁用了图标/默认图标。

最后,我将favicon.ico文件复制到了我的网站根目录,这确实解决了我的问题。

感觉Drupal这里似乎有点问题? :/


同样的问题出现在CodeIgniter上。将ico文件复制到根目录解决了这个问题。 - s3mre8

0

之前的方法对我没用,但这个非常好用:

<FilesMatch "favicon.ico">
    Header unset ETag
    FileETag None
</FilesMatch>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接