如何以编程方式使浏览器缓存无效

How to invalidate browser cache programmatically

本文关键字:浏览器 缓存 无效 方式使 编程      更新时间:2023-09-26

很久以前我犯了一个错误。我为应用程序创建了一个从站点根目录"/"重定向到"/xxx/"的文件,但忘记添加nocache元。

类似的index.html

<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=/xxx/">
</head>
</html>

现在我有了一个新的应用程序,我决定把它放在根目录下,但遇到了大问题。这个index.html文件缓存在用户浏览器中,并一直重定向到"/xxx/"。

是否可以强制浏览器(从服务器端或某些脚本)重新加载文件。Ctrl+F5无法使用,因为没有加载页面。对于用户来说,手动重置缓存是不真实的。

如果您的服务器上有php,您可以尝试在脚本之前添加它,并希望客户端的缓存过期:

<?php 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
?>

但这并不能像另一位评论者所说的那样保证任何合规性。

尝试使用服务器端重定向从/xxx/重定向到/:

## /xxx/index.php
<?php
http_redirect("relpath", array("name" => "value"), true, HTTP_REDIRECT_PERM);
?>

添加从"/xxx/"到"/?new"的重定向。