如何重置重定向页面的 max-age 缓存控制(302)

如何重置重定向页面的 max-age 缓存控制(302)

几个小时前,我在 htaccess 中使用了以下代码将主页重定向到维护页面:

维护重定向

RewriteCond %{REQUEST_URI} !/maintenance/index.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|js|css) [NC]
RewriteCond %{REMOTE_ADDR} !^92\.95\.110\.92
RewriteRule .* /maintenance/index.html [R=302,L]

然后我注释掉代码以便能够再次显示页面,但是在将访问权限改回之前后,重定向仍然发生。我也重新启动了服务器。然后我在一个在线工具上检查了标题,结果如下:

 Sun, 18 Nov 2018 07:57:58 GMT
Server:
    Apache
Location:
    http://www.website.com/maintenance/index.html
Cache-Control:
    max-age=172800
Expires:
    Tue, 20 Nov 2018 07:57:58 GMT
Content-Length:
    231
Content-Type:
    text/html; charset=iso-8859-1
Via:
    1.1 varnish (Varnish/6.1), 1.1 varnish (Varnish/6.1)
X-Cache-Hits:
    31
X-Cache:
    HIT
Age:
    5602
Connection:
    keep-alive

Redirecting to: http://www.website.com/maintenance/index.html

看起来 302 重定向以某种方式缓存到 2018 年 11 月 20 日?

我尝试在页面上添加以下代码,并重启服务器。没有发生重定向,但页面完全空白:

 <?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
?>

我可以重置这个“临时” 302 重定向以尽快停止吗?并将其完全删除?我可以访问 Linux Shell。非常感谢您的帮助。

答案1

这看起来像是 Varnish 的问题。302 重定向的默认设置是不可缓存的。请查看您的 Varnish 配置。

感谢@MichaelHampton 给出的正确答案,我必须通过 ssh 清除 varnish cash:$ curl -X PURGE –

相关内容