无法移除 301 重定向

Posted

技术标签:

【中文标题】无法移除 301 重定向【英文标题】:Cannot remove 301 redirect 【发布时间】:2012-03-14 22:15:44 【问题描述】:

我愚蠢地将 websiteA.com 上的 301 重定向到 websiteB.com。从 .htaccess 文件中删除它后,重定向仍在运行。我从本地网络外部尝试过,它仍在重定向。我已清除缓存并尝试使用其他浏览器。

有人有什么建议吗?

更新:

如果我将 302 重定向添加到此 .htaccess 文件,则该网站会使用它。当我删除它时,旧的 301 重定向仍然发生。

websiteA.com 的.htaccess 文件:

# -- concrete5 urls start --

Options -Indexes

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
# -- concrete5 urls end --

#RewriteCond %HTTP_HOST ^.*$
#RewriteRule ^/?$ "http\:\/\/www\.websiteB\.co\.uk\/" [R=301,L]

【问题讨论】:

在此处发布您的完整 .htaccess。 这段代码没有明显错误,你能检查你的access.log中的匹配行吗? 嗨 :) 当我访问该站点时,访问日志中出现一行“tail -f websiteA”:1.1.1.1 - - [24/Feb/2012:13:37:45 +0000 ] "GET / HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2" 就好像原来的 301 永久重定向被缓存在某个地方一样。它没有在我的本地网络中缓存,因为我们尝试使用 3G 网络在某人的手机上。 .htaccess 未缓存,我怀疑您的 DOCUMENT_ROOT 中某处有一些杂散的 .htaccess 或您的代码正在执行此重定向。您是否可以启用 RewriteLog 然后检查日志条目。 【参考方案1】:

只需删除有关重定向的行。

还有所有拥有 Google Chrome 浏览器的人,请执行以下步骤:

    在键盘上按 CTRL + SHIFT + DELETE。 仅检查 -> “文件和图像存储在缓存中” 在“自:上周以来存储在缓存中的元素”中选择

这将清除你所有的缓存,你会没事的。

【讨论】:

您指的是字母 SUPR 还是某些键盘上的键?【参考方案2】:

尝试在开发者控制台打开 (F12) 的情况下访问该网站

确保选中“网络”选项卡下的“禁用缓存”

这将绕过浏览器端上的 301 重定向缓存。

【讨论】:

【参考方案3】:

永久重定向缓存可能在浏览器中 在大多数浏览器中,删除它很棘手。 但首先,请尝试使用不同的浏览器来查看是否是这种情况。

如果问题出在浏览器上: 这发生在我之前,清理该网站的浏览器数据是不够的。 我还意识到每个浏览器都有一个技巧。 在 Safari(Mac 版)中,我需要选择“重置 Safari...”(不要惊慌,使用此选项既不会删除书签,也不会删除扩展名)。 我不记得我是如何为 Chrome 做到的,但创伤较小。

课程 使用重定向时,请先使用 [302]。 一切测试ok后,将代码改为[301]

【讨论】:

R 302 是开发环境中的安全选择。【参考方案4】:

我知道这是一篇旧帖子,但我花了一些时间在网上和我的服务器上寻找答案。

如果您创建了一个带有永久重定向的 .htaccess 文件,服务器会将此重定向复制到以下文件中:“/var/.htaccess”。

在清除浏览器缓存之前,您必须编辑此文件以删除重定向。

它在我的 Debian Jessie 上运行。

【讨论】:

我不确定文件的绝对路径是否对 OP 有帮助,您指定的路径可能不正确(除非您的主页位于 /var)。 你说得对,在这种情况下路径必须是/var,谢谢【参考方案5】:

浏览器缓存 301 Moved 永久,除非另有说明。这是默认行为:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2。

在 IE9 中修复它:

    打开 IE9 并按 Ctrl+Shift+P 进行隐私浏览 导航到问题 URL 然后回到正常浏览,一切都会好起来的

【讨论】:

@DaniëlTulp:我认为在 firefox 中使用 ctrl-F5 和/或缓存清理就足够了。【参考方案6】:

尝试重新启动 Apache

(在 Ubuntu 服务器上:service apache restart/etc/init.d/apache2 restart

【讨论】:

301 重定向存储在每个用户的浏览器上,而不是服务器上,所以它并没有真正的帮助。 重定向可能被缓存在浏览器级别,但它是抛出它的服务器。也就是说,.htaccess 更改不需要重新启动 apache,所以我绝对错了***.com/questions/142559/…

以上是关于无法移除 301 重定向的主要内容,如果未能解决你的问题,请参考以下文章

301 和 301 http 重定向是不是可以使用 expires 标头进行缓存?

为啥jQuery会阻止propper 301重定向?

IIS 上的 WordPress 301 重定向

IIS7 301 从 URL 列表重定向

Mass 301 Moved 永久重定向

处理全新网站的 301 重定向