HTML - 网站永久重定向301修改了之后,Google浏览器如何重新定位到新地址

HTML - 网站永久重定向301修改了之后,Google浏览器如何重新定位到新地址

前言

我网站的域名是a.com,某天,我决定永久改用b.com作为新的域名。但是为了防止a.com的老用户不知道域名更改的事情,所以当用户访问a.com时,会自动重定向到b.com对应的路径下。

使用nginx也很好实现:

1
2
3
4
5
6
7
8
server {
listen 443, 80;
server_name a.com;

location / {
rewrite ^/(.*) https://b.com/$1 permanent;
}
}

这样,对a.com的请求就会被永久重定向到b.com

但是事情总是不那么地一帆风顺,在编写nginx代码时,不小心将b.com写成了一个不存在的c.com

当我使用谷歌浏览器去访问a.com时,被重定向到了c.com

发现这个问题后,我立刻修改了nginx的配置,将c.com修改为了b.com

这时,使用新的设备/浏览器访问a.com,能够正常地被重定向到b.com了。

但是有一个问题,我访问a.com时,服务器返回的是永久重定向301,这时我的谷歌浏览器记录下了这个结果,每当我再次访问a.com时,浏览器直接跳过了重定向这一步,直接访问了c.com。这就导致我在a.com上的更改无法被我的谷歌浏览器获取。

重启浏览器、重启计算机、等待数日等都无效。在网上查阅后得知,谷歌浏览器会永久记录这一结果。

怎么办呢?忽然想到了一个办法:

F12打开控制台 -> 选中“网络”栏 -> 勾选“停用缓存”复选框 -> 访问a.com

大功告成!

停用缓存的话,浏览器就不会使用之前的“永久重定向到了c.com”的缓存,而是真正地再访问了一次a.com

这次浏览器得到了新的“永久重定向到b.com的通知”,以后都会直接重定向到b.com

但是还有一个问题:假设我在设置为“重定向到c.com”后访问过a.com/a.js,那么a.com/a.js会被永久重定向到c.com/a.js,但是我上述操作只是重新加载了a.com,并未刷新a.com/a.js,因此对已经访问过的a.com/a.js不生效!!貌似除非手动采用上面的方法才可以。

总结

这就告诉我们,不要轻易使用301!!!除非已经测试好了,并且真的考虑了接近所有的情况,真的不准备改了,再使用301。。。

原创不易,转载请附上原文链接哦~
原文链接:https://blog.letmefly.xyz/2023/04/05/Other-HTML-ChangePermanentRedirect301ByGoogle/


HTML - 网站永久重定向301修改了之后,Google浏览器如何重新定位到新地址
https://blog.letmefly.xyz/2023/04/05/Other-HTML-ChangePermanentRedirect301ByGoogle/
作者
Tisfy
发布于
2023年4月5日
许可协议