先森前些日子将万网/阿里云域名DNS地址修改到DNSPod,当时高兴的不得了,因为DNSPod对搜索引擎线路的解析非常准确,但却竟然忘记了对主域名进行解析。直到一位学弟告诉先森,先森的网站不加www无法访问。先森当时就懵逼了——被万网惯坏了。
先解释下为什么会忘记。
用过万网云虚拟主机的同学应该都知道,在万网主机管理控制台内,就有域名的301跳转设置选项:
万网主机管理控制台
因为万网这边301跳转是设置好的,所以先森第一次设置后,就再没管过主域名的事情,结果连换DNS服务商了都没有想起主域名解析的问题。连解析都没解析,还谈什么301跳转啊,白痴了一回。但通过这次的白痴行为,先森对301跳转总结出了3种方法。
为什么要301重定向?简单的说,301重定向是对搜索引擎友好,将一个网站的权重很好的转移到另一个网站。常用在主域名与www域名互转,老域名转移到新域名。
第一种:DNS直接设置301跳转
DNSPod的解析设置中,记录类型包括一种“显性URL”记录,这种记录DNSPod用的就是301跳转。所以我们在为主域名设置301跳转的时候,可以直接使用这种方式。
DNSPod显性URL设置
需要注意的是,如果你的域名转入DNSPod的时间不足30天,不能设置显性/隐形URL记录类型。但是可以提交工单的方式获得设置权限。
通过这样的设置,就能很简单的将主域名301重定向到www的域名了。
第二种:设置CNAME记录
看到这种方法可能大家会觉得有点奇怪,其实这样还是用的万网主机控制台的跳转。
直接给主域名设置CNAME记录,记录值填www的地址。用了CDN的也可以直接填CDN的CNAME地址,先森觉得这样可以减少一次解析的次数。至于为什么不直接设置A记录,原因是网站最好不要泄露自己的真实IP地址。
CNAME记录设置
这样设置的前提是,我们使用的是万网云虚拟主机,并在万网主机管理控制台设置了301跳转。
如此一来,主域名会通过CDN再解析到主机上,进而进行301跳转。
第三种:修改.htaccess
此方法适用于Apache服务器。上面提到的都是用DNS解析的方法,如果是直接解析到服务器上,那么就可以使用这种方法了。
在网站根目录的.htaccess文件中,添加下列三行代码即可实现:
RewriteEngine on RewriteCond %{HTTP_HOST} ^capjsj.cn [NC] RewriteRule ^(.*)$ //www.capjsj.cn/$1 [L,R=301]
添加时注意修改域名。
最后说两句
关于跳转的速度,先森只测试了第一种和第二种的ping通时间。第一种先森本地的ping通时间在190ms左右,第二种的话在20ms左右。但这只是ping通时间,第一种当然ping通之后就开始跳转了,第二种开始跳转的时间具体是多少,先森还不知道要怎么测。如果看跳转到打开的总时间,各地DNS缓存的时间又不同,先森想从奇云测来测试也不是那么方便。
所以,要用那种方式做301跳转就根据各位的喜好了。
转载请注明出处来自https://www.capjsj.cn/wgzymjxhd301tzdyxyj.html
我发现你这技术性文章也挺多的
@好文推荐: 学到点就发出来了,目前大多还是自嗨型文章,希望以后能够改善。
@狂族晨曦: 神马叫自high…
其实都在纠结网址带不带www
@真我风采: 这一点的话,你楼下的小C博客做过相关论述,可以去看看:域名前该不该加www
啊哦!!博主你的301跳转还有问题哦!!!没有传参数导致404!!
@小C博客: 不得哦,我测试了很多地方都是正确的啊!
你用缓存了啊!!评论都没显示!!刷新下!!
@小C博客: 誰让你这次回复这么快。。。我都还没来得及去刷新。(Ctrl+F5刷新)
@狂族晨曦: http://capjsj.cn/wgzymjxhd301tzdyxyj.html。。你访问下这个链接看。。加群共同探讨:247482771。。最喜欢你这样喜欢研究的人了!!给大家带来技术上的福利!!
@小C博客: 这个确实,已经解决了,谢谢提醒。另,群已加。
@狂族晨曦: 速度挺快的吗!!
都是些技术文章,不错呀,五一快乐
@纯洁博客: 同乐同乐~
谢谢分享 五一劳动节快了 欢迎回访
@巴力迅猛龙: 全是卖弓弩的啊~
我前几天用百度云的DNS也出现这个问题
@唯历史: 301跳转问题,还是很好解决的
前来学习学习一下
@孟子非博客: 欢迎探讨~~
我是将不带www的link到www,再做个301跳转!
谢谢博主的分享
技术文,赞一个