在 htaccess 中配置带有过期标头的 favicon

在 htaccess 中配置带有过期标头的 favicon

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

我最初尝试为 .ico 文件添加一组指令,但通过 YSlow 检查时发现它没有设置到期时间。

当这不起作用时,我将其修改为 GIF,但这似乎存在同样的问题。

网站上的其他 gif 已正确设置过期标头(至少根据 YSlow)。

有人可以解释一下这种情况吗?

答案1

如果您使用的是 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

答案2

这对我有用:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>

相关内容