![](/img/trans.png)
[英]mod_expires sending Cache-Control headers for 3## status codes
[英]mod_expires not setting cache-control headers on JPEG images
我无法弄清楚为什么在我正在处理的网站中,普通的旧JPEG图像(大约十几个,每个< 10 KB
)不会占用缓存控制头,因为它们是强制进给的。 我正在使用的.htaccess
规则基于最新的HTML5 Boilerplate .htaccess文件 (下面的相关部分)。 有什么奇怪的是,网站中有大量相同数量的PNG,除了其中两个外,缓存控制标头工作正常。
<IfModule mod_expires.c>
ExpiresActive on
# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"
...
# media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
...
<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>
</IfModule>
(省略号表示删除了多余的ExpiresByType
规则部分)
我已经从我的/etc/apache2/apache2.conf
文件直接到了那里包含的几乎所有conf文件,并且找不到合理的解释。 我已经摆弄,Pagesped和Chrome审核了几个小时的死亡,我仍然无能为力。
编辑:如下所述,此网站的Web根目录中只有一个.htaccess
文件。 JPEG正在使用mime-type image/jpeg
但缓存控制头文件丢失了,我无法弄清楚原因。
我在mod_headers
部分添加了no-transform
,果然,它都按预期工作。 现在我可以让我的额头从墙上休息一下。
<IfModule mod_headers.c>
Header append Cache-Control "public, no-transform"
</IfModule>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.