我在我的Apache服务器上通过mod_expires实现了Expires头文件,并且已经成功地为大多数文件types创build了expires头文件,但是我对favicon有问题。
我最初尝试为.ico文件添加一组说明,但是通过YSlow检查时没有过期设置。
当这不起作用,我修改它是一个GIF,但是这似乎有同样的问题。
网站上的其他gif已经正确设置了expires头文件(至less符合YSlow)。
任何人都可以解释这种情况吗?
如果您使用的是Apache,只需在网站的.htaccess文件或Apache的mime.types文件中为favicon添加一个MIME-Type:
# 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"
在清除浏览器的caching并重新加载页面之后,您应该会看到将Cache-Control标头的favicon.ico文件设置为将来的date(以秒为单位):
Content-Type image/x-icon Cache-Control: max-age=2592000
有关相关信息,请参阅有关使您的favicon.ico Small和Cacheable成为以下位置的YSlow文档: http : //developer.yahoo.com/performance/rules.html#favicon
这在这里为我工作:
# Cache the following content for 1 month (4 Weeks) <FilesMatch "\.(jpg|jpeg|png|gif|ico)$"> Header set Cache-Control "max-age=2419200, public" </FilesMatch>
我使用的是http://www.webpagetest.org/ ,它报告的是favicon.ico的过期标题,事实certificate,我没有一个,我发现上述两个解决scheme没有效果。