【发布时间】:2015-07-09 10:38:19
【问题描述】:
我想在每次访问页面时“强制加载”一个页面实例。
所讨论的网站是一种“构建您的定制产品”类型的网站,并使用多步骤表单来指导客户完成产品构建的各个步骤。客户希望网站在每次用户访问网站时,无论是通过直接 url 还是通过单击浏览器上的“后退”和“前进”按钮,都必须刷新。换句话说,没有缓存(对吗?)。
我尝试使用我在 SO 和其他网站上找到的解决方案,主要包括
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");
但这没有用。
所以我尝试了自己的解决方案:
$location = "/fabriquer/";
if(isset($_COOKIE['first_load']) && $_COOKIE['first_load'] == "true") {
setcookie('first_load', 'false');
header("Location: " . "http://" . $_SERVER['HTTP_HOST'] . $location);
} else {
setcookie('first_load', 'true');
}
但这似乎也无法正常工作。当我按下浏览器上的后退按钮以返回该站点时,不会发生刷新,但在第二种解决方案中 cookie 设置为 true/false。
有什么想法吗?
【问题讨论】:
-
所以你想强制用户浏览器从不缓存页面?你能详细描述一下“不起作用”的具体含义吗?
-
我用更多细节更新了我的问题。
标签: php cache-control no-cache