我继承了一个域,该域以前具有从根(“ /”)到“ /index.shtml”的301重定向。
我已经删除了重定向和域中的其他站点,但是过去访问过该站点的用户将在浏览器中缓存重定向行为……这要花很长时间,除非他们手动清除缓存。
在这些浏览器中尝试访问example.com的任何人,在发出任何HTTP请求之前都会被发送到example.com/index.shtml。现在这是一个巨大的问题,因为没有index.shtml,但是我可以使用头文件告诉浏览器“忘记您刚刚执行的重定向!”吗?
最佳答案
简短的答案:没有办法告诉用户的浏览器“忘记” R 301重定向。 301表示永久性,只能在用户采取行动或缓存过期时撤消。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2
在Stackoverflow上类似的问与答:
Apache - how to disable browser caching while debugging htaccess,
Cannot remove 301 redirect
尝试避免301重定向,而改用302(临时)。这是一篇文章,介绍如何为301重定向设置不缓存(未尝试过):
http://mark.koli.ch/set-cache-control-and-expires-headers-on-a-redirect-with-mod-rewrite
在这种情况下可以做什么:您可以将头重定向添加到文件index.shtml中,该文件将用户发送到通常应转到的原始文件。
关于.htaccess - 强制浏览器忘记缓存的重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397040/