无法移除 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 重定向的主要内容,如果未能解决你的问题,请参考以下文章