htaccess 301重定向 - 如何禁用它?

时间:2014-08-02 13:21:25

标签: apache .htaccess mod-rewrite redirect

我错误地在我的网站上添加了301重定向(因为我正在进行维护)。现在很多人无法回到我的网站,因为他们仍然被重定向到其他页面 - 尽管我删除了重定向(甚至删除了htaccess)。尽管我搜索它是因为htaccess(或301重定向)缓存在用户浏览器中,但我无法找到任何解决方案。有没有办法解决这个问题,我不能因为这样的事情而放弃数百名访客?

1 个答案:

答案 0 :(得分:2)

此页面详细说明了正在进行的操作:

基本上,现代浏览器会在一段不确定的时间内缓存301的重定向响应,并且不会向旧网页发送更新请求以刷新它。用户可以手动清除缓存,因为它是缓存,如果浏览器需要更多空间用于其他数据(如其他重定向),则可以清除数据。

此超级用户问题解决了客户端的缓存问题:

一个有趣的答案是:

在此回答中,用户指出浏览器将http://example.com/http://example.com/?视为两个不同的网址。您可以转到“新”站点并设置HTTP 302重定向,指向最后一个?的原始页面,它应该加载。如果原始页面已经将查询作为URL的一部分,您可以简单地在末尾添加&以获得相同的结果。

它并不完美 - 它毕竟是一个不同的网址 - 但至少他们能够查看您的旧网站。

请注意,您的Web应用程序可能会尝试将空查询或无效查询重定向回“干净”页面,您可能必须禁用该页面才能获得预期结果。

<强>更新
另一个选择是将重定向从新站点返回到旧站点(使其成为302或307重定向以避免您当前遇到的301问题)。根据我的测试,Chrome会在执行此操作时删除旧的重定向。它可能会抛出“重定向循环”错误,但只会抛出一次。我无法使用最新版本的Firefox重现缓存重定向问题。其他浏览器的行为可能会不一致。