繁体   English   中英

mod_expires没有在JPEG图像上设置缓存控制头

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM