使用Apache设置缓存控制max-age不起作用

时间:2014-09-12 09:44:42

标签: apache caching http-caching

我正在尝试为我的网站设置HTTP缓存。以下是我的配置设置

# 1 YEAR
<FilesMatch "\.(ico|svg|woff|eot|ttf)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>

# 1 WEEK
<FilesMatch "\.(jpg|png|gif|css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

如果我将其放在我的<VirtualHost>设置或其外部,会有所不同吗?我把它放在<VirtualHost>

我尝试使用redbot.org检查其中一个png图片的HTTP响应,这就是它返回的内容。

HTTP/1.1 200 OK
    Date: Fri, 12 Sep 2014 09:28:33 GMT
    Server: Apache/2.4.7 (Ubuntu)
    Last-Modified: Tue, 26 Aug 2014 05:43:32 GMT
    ETag: 1409031812.69
    Content-Length: 23907
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: image/png

为什么没有Cache-Control max-age标头标签?

我还使用Google PageSpeed Insights进行了检查,但仍然说没有为所有文件指定过期时间。

我错过了什么吗?

1 个答案:

答案 0 :(得分:-2)

由于我的.htaccess文件中缺少配置设置,因此未考虑apache2.conf文件。在conf文件中进行必要的更改解决了这个问题。