为了测试性能改进,我将一个.htaccess
包含以下指令的文件添加到我的/assets
文件夹(我在其中存储了各种类型的图像)。
<FilesMatch "\.(jpg|jpeg|png|gif)$">
Header set Cache-Control "public,max-age=7200"
</FilesMatch>
查看 ySlow 的输出,它奇怪地向我显示了以下内容:
Resource Expires
/assets/slide-1.jpg 2012/5/22
/assets/partners/part_01.gif 2012/5/22
/assets/partners/spacer.gif 2010/4/15
检查 spacer.gif 的标题,我注意到一个 gif 包含我的Cache-Control: public,max-age=7200
标题和标题Expires: Thu, 15 Apr 2010 20:00:00 GMT
,而全部文件夹中的其他图像都遵守 max-age 标头,并且没有明确的过期标头。
我确信没有其他文件名特定的缓存控制指令在起作用。我以前在 Web 根目录中有一个缓存破坏的过期日期标头,但后来被删除了,而且似乎对任何其他文件都不再有“粘性”。
为什么会这样?