带有.htaccess的HTTP缓存头

时间:2012-09-19 15:34:40

标签: caching http-headers browser-cache

我正在尝试配置我的.htaccess文件来设置缓存时间。尝试了所有可能的配置但没有任何作用!

这是我的HTML中写的:

 <meta http-equiv="Cache-Control" content="max-age=2592000, public" />
 <!--        
 <meta http-equiv="expires" content="mon, 24 sep 2012 14:30:00 GMT">
  -->

这就是我的.htaccess文件中写的内容:

ExpiresActive On
ExpiresDefault A3600

然而,当我在firefox中刷新inclusind cache clear(ctrl + F5)时,我的firebug NET面板说缓存在我访问该文件的同一时间到期(而不是将来,因为我希望它是)。

我做错了什么?

由于

1 个答案:

答案 0 :(得分:33)

我建议你使用标题mod。您可以使用以下命令激活它(如果禁用):

  

a2enmod标题

这是一个有效的简单代码示例:

<IfModule mod_headers.c>
    # WEEK
    <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
        Header set Cache-Control "max-age=604800, public"
    </FilesMatch>

    # WEEK
    <FilesMatch "\.(js|css|swf)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
</IfModule>

max-age是以秒为单位的缓存时间。