【问题标题】:HTTP/Browser Caching with .htaccess使用 .htaccess 进行 HTTP/浏览器缓存
【发布时间】:2012-07-25 20:03:59
【问题描述】:

我的根目录中有一个具有以下设置的 .htaccess。

<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=864000, public, must-revalidate"
</filesMatch>

我认为它缓存了 filesmatch 指令中的任何文件。我不清楚的一件事是浏览器是否缓存了实际输出的 HTML 内容(来自 index.php)。我不希望浏览器缓存 HTML。我只希望浏览器缓存图片、css和js。

谢谢。

【问题讨论】:

    标签: php html apache apache2


    【解决方案1】:

    根据您的说法,您不确定浏览器是否正在缓存您的 PHP 文件或从中生成的内容,请使用这些标头绝对确定,除非您明确设置规则,否则您永远不会知道:

    header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); 
    header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s') . ' GMT'); 
    header('Cache-Control: no-store, no-cache, must-revalidate'); 
    header('Cache-Control: post-check=0, pre-check=0', false); 
    header('Pragma: no-cache'); 
    

    【讨论】:

    • 这与我的 apache/htaccess 文件中的 image/js/css 文件缓存设置无关吗?我希望浏览器缓存这些文件。
    • 可以,只要您不使用 PHP 生成任何图像。
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 2013-07-17
    • 2011-10-16
    相关资源
    最近更新 更多