【问题标题】:Cannot remove 301 redirect无法移除 301 重定向
【发布时间】: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 然后检查日志条目。

标签: .htaccess redirect http-status-code-301


【解决方案1】:

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

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

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

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

【讨论】:

  • 您指的是字母 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 中修复它:

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

    【讨论】:

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

    尝试重新启动 Apache

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

    【讨论】:

    • 301 重定向存储在每个用户的浏览器上,而不是服务器上,所以它并没有真正的帮助。
    • 重定向可能被缓存在浏览器级别,但它是抛出它的服务器。也就是说,.htaccess 更改不需要重新启动 apache,所以我绝对错了stackoverflow.com/questions/142559/…
    猜你喜欢
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2015-08-09
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多