我有一个网站,其中有2个州:未发布和已发布。
处于发布状态时,通过设置了一个月的缓存从CDN提供图像。一旦发布,就不允许对该文件进行任何更改,因此我从不担心它。
但是,当处于未发布状态时,我想强制页面在每次查看时刷新。用户进行更新,预览其内容以查看新文件,该文件已经过硬刷新以查看最新更新。
如何根据页面是否处于已发布状态或未发布状态来强制进行硬刷新?
最佳答案
使用类似的想法来缓存图像-Disable cache for some images,您可以使用
(1)通过添加随机生成的查询字符串,即?version=<?php echo time();?>
到您的页面网址-https://stackoverflow.com/a/729623/689579
也可以使用javascript-https://stackoverflow.com/a/6116854/689579
(2)使用HTTP header (在php中)
header("Pragma-directive: no-cache");
header("Cache-directive: no-cache");
header("Cache-control: no-cache");
header("Pragma: no-cache");
header("Expires: 0");
https://stackoverflow.com/a/728685/689579
(3)使用元HTTP header
<meta Http-Equiv="Cache-Control" Content="no-cache">
<meta Http-Equiv="Pragma" Content="no-cache">
<meta Http-Equiv="Expires" Content="0">
<meta Http-Equiv="Pragma-directive: no-cache">
<meta Http-Equiv="Cache-directive: no-cache">
https://stackoverflow.com/a/14031623/689579