强制浏览器忘记缓存重定向?

DMa*_*ack 9 browser .htaccess redirect caching http-status-code-301

我继承了以前从根目录("/")到"/index.shtml"的301重定向的域名

我已删除了域中的重定向和其他站点,但过去访问过该站点的用户将在其浏览器中缓存重定向行为...持续时间非常长,除非他们手动清除其缓存.

任何试图在这些浏览器中访问example.com的人都会在发出任何HTTP请求之前发送到example.com/index.shtml.现在这是一个很大的问题,因为没有index.shtml,但是我可以用标题来告诉浏览器"忘记你刚才做的重定向!"?

小智 6

简短的答案:无法告诉用户的浏览器“忘记” R 301重定向。301表示永久性,只能在用户采取行动或缓存过期时撤消。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2

关于Stackoverflow的类似问答: Apache-如何在调试htaccess时禁用浏览器缓存, 无法删除301重定向

尝试避免301重定向,而改用302(临时)。这是一篇有关如何为301重定向设置不缓存的文章(请尝试一下):http : //mark.koli.ch/set-cache-control-and-expires-headers-on-a-redirect-with- mod重写

在这种情况下可以做什么:您可以将头重定向添加到文件index.shtml中,该文件将用户发送到通常应转到的原始文件。


小智 5

这可以通过清除仅数据缓存来完成。它可以删除所有 .htaccess 重定向浏览器的更改。

在此输入图像描述