很多站长做网站换域名、改目录结构的时候,都会做301跳转解析,把旧网址的流量导到新网址,还能传递搜索引擎权重。但是不少人配置完之后发现不生效,旧网址还是打不开新网址,或者权重没传递过来,白白浪费了时间,今天我就把常见的问题和排查步骤分享给大家,新手也能跟着一步步操作。

先确认解析记录本身配置正确吗
很多301跳转解析不生效,都是第一步配置就错了。如果你是把整个域名跳转到另一个域名,很多新手会错填成A记录或者CNAME记录,其实正确的做法是添加URL转发记录,把原域名的所有请求转发到目标地址。如果你是在服务器上配置跳转,就要确认是不是把DNS解析正确指向了你的服务器IP,没有解析错误的话再去检查服务器上的跳转规则,不要上来就改服务器配置,白白浪费时间。
域名服务商不支持转发怎么处理
很多国内的域名服务商,免费解析套餐是不支持隐式URL转发的,只支持显性转发,或者干脆不支持任何转发。这时候如果你强行配置了转发,肯定不会生效。这种情况有两种成熟的解决方法:一种是换支持转发的第三方DNS服务商,比如用知名度比较高的公共DNS;另一种就是不要用域名商自带的URL转发,直接在自己的服务器上配置跳转规则,这样更稳定,也不会受服务商功能限制,推荐大家优先用这种方法。
服务器跳转规则写错了吗
如果你是自己在服务器上配置301跳转,常见的错误就是规则写错。比如用Nginx做跳转的时候,正则表达式写错,或者匹配规则的顺序不对,Nginx是按顺序匹配规则的,如果旧规则在前面先匹配到了,新的跳转规则就不会生效。还有的人把目标地址写错,多了斜杠或者少了斜杠,导致跳转失败。比如要跳转到`https://example.com`,结果写错了路径前缀,导致跳转后直接404,所以配置完一定要检查一遍符号。
缓存导致跳转不生效怎么排查
很多人配置完跳转之后,本地浏览器访问还是旧的结果,这其实是浏览器缓存或者本地DNS缓存导致的,不是跳转解析本身不生效。这时候你可以先清除浏览器缓存,再刷新本地DNS缓存:Windows系统打开cmd输入`ipconfig /flushdns`回车就能刷新,Mac系统输入对应命令刷新,之后再重新访问测试。如果还是不行,可以换个手机或者用不同网络的设备访问测试,很快就能确认是不是缓存的问题。
HTTPS转HTTP不生效有哪些常见坑
很多站长原来网站是HTTP,现在换成HTTPS,做301跳转的时候经常遇到不生效的问题。常见的错误就是原来的HTTPS证书过期了,服务器无法正常建立HTTPS连接,跳转自然无法执行。还有的人只配置了HTTP的跳转,没有配置HTTPS的跳转,导致用户访问HTTPS旧网址的时候无法跳转。还有一种情况就是证书域名配置错了,HTTPS连接失败,跳转自然无法执行,所以一定要先确认证书没问题再配置跳转。
跳转之后权重没传递怎么处理
很多人配置完301跳转解析之后,发现搜索引擎的权重没有传递过来,旧网址的排名掉了,新网址也没上去。这时候要检查几个点:第一,是不是不小心用了302跳转而不是301,302是临时跳转,搜索引擎不会传递权重;第二,是不是跳转没有覆盖所有旧网址,还有部分旧网址返回404错误,搜索引擎抓取不到就不会传递权重;第三,有没有在百度搜索资源平台提交地址变更,提交之后能帮助搜索引擎更快更新索引,权重传递也会更快。
怎么测试301跳转是否真的生效
配置完跳转之后,一定要测试验证之后才能放心。最简单的测试方法就是用浏览器地址栏输入旧网址,看是不是自动跳转到新网址了,地址栏的地址有没有变成目标网址。还有更专业的方法,就是用在线HTTP状态码查询工具,输入旧网址,就能看到返回的状态码是不是301,跳转目标对不对。也可以用curl命令,在终端输入`curl -I 你的旧网址`,就能看到返回头里的状态码和Location信息,确认是不是正确的301跳转。
总的来说,301跳转解析不生效大部分都是配置小错误导致的,只要按照上面的步骤一步步排查,从解析记录到服务器规则,再到缓存和证书,很快就能找到问题所在。配置完成之后一定要测试验证,确认状态码正确,跳转目标正确,这样才能保证旧网址的流量和权重顺利传递到新网址,不会损失流量和排名,新手也能轻松搞定。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!