7

我知道我可以使用 mod_expires 添加过期标头。但是,如果 Apache 服务器没有安装 mod_expires 并且我不想通过像 PHP 这样的脚本语言来路由对文件的访问,我该怎么办?

4

3 回答 3

7

您可以使用mod_header手动设置标题字段:

Header set Expires "..."

但是由于Expires需要一个绝对时间,所以使用Cache-Controlmax-age参数来表示相对于访问时间的时间:

Header merge Cache-Control max-age=3600
于 2010-09-02T10:11:49.343 回答
1

如果您有静态的 Expires 标头,以下将在您的 js 和 css 文件中添加一个 Expires 标头:

<FilesMatch "\.(js|css)$">
Header set Expires "Fri, 01 Jan 2010 00:00:00 GMT"
</FilesMatch>
于 2010-09-02T10:08:10.397 回答
1

这应该告诉浏览器在后续访问时刷新页面。过期日期必须是过去...您可以使用 PHP 设置日期以使其“只是”过去,或者将其保留为您找到此答案的日期!!!

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Thu, 2 Sep 2010 05:00:00 GMT");

更新:道歉 - 我错过了关于通过 PHP 路由文件的句子中的“不要”!您还可以使用这些 HTML 元标记:

<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="Thu, 2 Sep 2010 05:00:00 GMT">
于 2010-09-02T10:09:33.653 回答