.htaccess - 强制浏览器忘记缓存的重定向?

标签 .htaccess caching redirect browser http-status-code-301

我继承了一个域,该域以前具有从根 (“/”) 到“/index.shtml”的 301 重定向

我已经删除了重定向和域中的另一个站点,但是过去访问过该站点的人将在他们的浏览器中缓存重定向行为......非常长的时间,除非他们手动清除缓存.

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

最佳答案

简短的回答:没有办法告诉用户的浏览器“忘记”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 重定向设置无缓存的文章(没试过): https://github.com/markkolich/blog/blob/master/content/entries/set-cache-control-and-expires-headers-on-a-redirect-with-mod-rewrite.md

在您的场景中您可以做什么:您可以将 header 重定向添加到文件 index.shtml,这会将用户发送到他通常应该去的原始文件。

关于.htaccess - 强制浏览器忘记缓存的重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47410572/

相关文章:

apache - .htaccess 或 httpd.conf

javascript - 函数运行多次的结果是否会被缓存?

sql-server - 批量调用存储过程时SQLCLR状态持久化

ios - 如何使用 EVURLCache 在 PreCache 中加载 UIWebView

java - 如何将 stdin 重定向到 java Runtime.exec?

.htaccess - 301 重定向到新域,没有尾随/斜线

wordpress - 阻止通过与混合内容的安全连接阻止对地理定位的访问

apache - 拒绝直接访问除 server/localhost 之外的文件

apache - 在 Windows 中启用 mod_rewrite 以使 .htaccess 正常工作

c# - 将 Azure 上的所有资源重定向到自定义域