4

可能重复:
缓存控制失败

我目前正在使用:

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">

然而它仍然缓存

4

3 回答 3

5

您还可以添加Pragma: no-cache。并且确保Last-Modified过去已经足够远:客户端和服务器之间的一些小时钟偏差可能会诱使您的客户端认为它具有文档的新版本;使用Tue, 15 Nov 1994 12:45:26 GMT例如。并且还添加一个带有过去日期的Expires标头。

于 2012-12-27T13:50:22.183 回答
1

我通常在我的 .htaccess 中添加这个

<filesMatch "\.(js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>

修改 fileMatch 以添加其他扩展...

于 2012-12-27T13:53:05.937 回答
0

在每个 URI 的末尾添加时间戳,浏览器不会从缓存中检索它(因为下次加载时会使用另一个 URI)

于 2012-12-27T13:47:50.150 回答