【发布时间】:2019-05-10 05:13:06
【问题描述】:
我已经更新了我的网站的一些更改,但更改仅在浏览器缓存清除时显示,每天有超过 2000 位用户使用此网站,我如何在他们打开网站时强制清除缓存。
我有几个例子,但我不知道这些会起作用还是不像下面给出的那样。
<?php
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
AND
clearstatcache(); function
【问题讨论】:
-
只是为了澄清,您并没有真正清除浏览器缓存,您只是告诉浏览器不要缓存页面。这有点不同。缓存的页面仍然可以加载,因为它仍然存在。
-
@Aaron 我们不能在加载特定网站之前强制浏览器清除缓存
-
所以您不想缓存 .js 或 .css 文件?还是还有其他类型?
-
@ElenaRoman 我只想当用户在 2019 年 5 月 10 日之后打开这个网站时,它必须显示来自服务器而不是来自缓存的所有数据,只有 css 更改
-
我建议使用 javascript 来完成该任务。我不知道任何像这样工作的 PHP 函数,因为它是服务器端的。你可以试试:location.reload(true); Cache.key() 和 Cache.delete()
标签: php browser-cache