在htaccess中使用到期标头配置Favicon


12

我已经通过Apache服务器上的mod_expires实现了Expires标头,并且已经成功创建了大多数文件类型的expires标头,但是我在使用favicon时遇到了麻烦。

我最初尝试为.ico文件添加一组说明,但通过YSlow检查时没有设置有效期。

如果不起作用,我将其修改为GIF,但是这似乎有相同的问题。

网站上的其他gif文件已正确设置了到期标头(至少应设置为YSlow)。

任何人都可以阐明这种情况吗?

Answers:


19

如果您使用的是Apache,只需在网站的.htaccess文件或Apache的mime.types文件中为该图标添加一个MIME类型:

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

然后,在未来几个月设置Expires标头:

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

清除浏览器的缓存并重新加载页面后,您应该会看到提供的favicon.ico文件的Cache-Control标头设置为将来的日期(以秒为单位):

Content-Type image/x-icon
Cache-Control: max-age=2592000

有关相关信息,请参阅以下网站上的YSlow文档:使您的favicon.ico小型且可缓存http : //developer.yahoo.com/performance/rules.html#favicon


+1这绝对有效。确保通过人清除缓存,我以为直到手动清除缓存后这才起作用。不知道为什么硬刷新没有这样做,但是无论如何。
是Barry

0

这对我有用:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.