如何禁止静态网页被浏览器缓存

对于很简单的静态网页,禁止其被浏览器缓存的最简是单办法就是每次服务器更新网页时使用不同的首页地址,例如,轮换使用index.htm和index.html

上面那个方法实际上有问题,轮换使用会导致两种类型的首页都被缓存,而且也没有考虑到除了首页之外的页面被缓存的情况。

在网站规模很小的情况下,最简单的办法是在网站的根目录建立一个index.php文件和一个跳转目录,将网站的文件 全部放到跳转目录内,然后设置index.php内容如下:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

//重定向浏览器
header("Location: 跳转目录的URL");
//确保重定向后,后续代码不会被执行
exit;
?>

这样弄好后,每次网站内容有更新,就可以修改跳转目录的名字和index.php中对应的跳转目录的URL。对于浏览器来说,跳转目录名字改变后,原先的缓存自然也就没用了。你只需保证跳转目录的名字永远都不和以前重复即可,最简单的方法就是采用数字给跳转目录命名,每次更新后将跳转目录的名字递增一个数字。

另外需要注意,如果你的网页对搜索引擎是开放的,那么不建议使用这种方法,因为URL的经常变化对搜索引擎来说应该是非常不友好的行为。

此条目发表在 语言与设计 分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>