带有Expires和Cache-Control标头的静态CSS / JS文件不会缓存在浏览器中

时间:2014-09-26 21:37:57

标签: .htaccess browser-cache cache-control http-caching mod-expires

我已经设置了所有图像和css / js文件的浏览器缓存。尽管如此,当我在网络面板下查看浏览器的Web开发人员工具时,似乎仍然从服务器检索每个缓存文件。

这就是我在.htaccess中所拥有的:

<ifModule mod_headers.c>
<ifModule mod_expires.c>
  # images for 1 hour
  <filesMatch "\.(jpeg|jpg|png|gif|flv|pdf|swf)$">
    ExpiresActive On
    ExpiresDefault "access plus 1 hours"
    Header set Cache-Control "public, max-age=3600, must-revalidate"
  </filesMatch>
  # CSS and js for longer
  <filesMatch "\.(ico|css|js|eot|ttf|ttc|otf|woff)$">
    ExpiresActive On
    ExpiresDefault "access plus 7 days"
    Header set Cache-Control "public, max-age=604800, must-revalidate"
  </filesMatch>
</ifModule>
</ifModule>
# do not use ETag
FileETag None

对于像https://www.fiveroasters.de/wp-includes/css/dashicons.min.css?ver=3.9.2这样的CSS文件,会产生以下标题:

Accept-Ranges   bytes, bytes
Age 0
Cache-Control   public, max-age=604800, must-revalidate
Connection  keep-alive
Content-Encoding    gzip
Content-Length  24803
Content-Type    text/css
Date    Fri, 26 Sep 2014 21:26:10 GMT
Expires Fri, 03 Oct 2014 21:26:10 GMT
Last-Modified   Tue, 27 May 2014 09:24:09 GMT
Server  Apache/2.4.10
Vary    Accept-Encoding
Via 1.1 varnish

这看起来对我来说,浏览器仍然没有缓存它,但每个请求仍然导致完全下载(http代码200)。对于JS,图像等也是如此?为什么?您可以自己查看https://www.fiveroasters.de

(我在webtools设置下启用了缓存设置。)

0 个答案:

没有答案