我有一个网站,其中有2个州:未发布和已发布。
在发布状态下,图像从我的CDN提供,缓存设置为一个月。一旦发布,不允许对文件进行任何更改,因此我从不担心它。
但是,当处于未发布状态时,我想强制每次查看页面时刷新页面。用户进行更新,预览其内容以查看已刷新的新文件以查看最新更新。
如何根据页面是处于已发布还是未发布状态强制进行硬刷新?
答案 0 :(得分:2)
使用与图像缓存类似的想法 - Disable cache for some images,您可以使用
执行此操作(1)通过向您的网页添加随机生成的查询字符串,即$ bash --version | head -1
GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)
$ foo() { echo "One: $1 Two: $2"; }
$ foo $(echo a b)
One: a Two: b
- https://stackoverflow.com/a/729623/689579
也可以使用javascript - https://stackoverflow.com/a/6116854/689579
(2)使用HTTP标头(在php中)
?version=<?php echo time();?>
https://stackoverflow.com/a/728685/689579
(3)使用元HTTP标头
header("Pragma-directive: no-cache");
header("Cache-directive: no-cache");
header("Cache-control: no-cache");
header("Pragma: no-cache");
header("Expires: 0");
答案 1 :(得分:0)
我不知道我是否正在寻找你正在寻找的东西,但也许是这样的?
$state = "unpublished";
function updatePage($state)
{
if($state == "unpublished")
{
$page = $_SERVER['PHP_SELF'];
header("Refresh: $sec; url=$page");
}
}
每当完成任何更新时都会调用此函数。