什么是重定向
重定向是一种将网络请求进行重新定位的方式,通过重定向请求,服务器会对即将要到达的页面进行转移,转移至目标设置页面,如网页重定向、域名重定向、路由重定向等,打开页面后返回的状态码则是301或302状态码。
大家长期在互联网混迹的时候,不难发现有些网页打开前还是已知的URL地址,结果跳到另一个的网页去了,这就是重定向操作。
重定向有两种含义
1、永久性重定向
永久性重定向表示当前的网页A将会永久性的跳转至另一个网页B,相当于当前的网页地址已经做了更改,此后也许当前页面不会再被启用,而用的是新地址。
通常当我们对网站进行改版时会用到永久性重定向,返回301状态码,这对搜索引擎来说也是比较友好的,旧网页的权重会逐渐转移到新网页,所以建议大家做永久改版的时候,如果url有变化记得做301重定向。
2、临时/暂时重定向
暂时性重定向表示将当前的网页A临时性的跳转到另一个网页B,后期稳定后,这个临时网页B可能会被替换成其他网页,这时返回的302状态码。
302重定向也就是临时用来启用的地址,比如网站突然宕机了,我们临时用一个域名设置302来进行代替,避免网页打不开,当服务器正常后,取消302跳转。
重定向的作用及意义
1、官网保护
通常情况下重定向被很多大企业是用来做域名保护,将同名不同后缀的域名全部购买,并做301重定向,是这些域名打开时全部跳转到主域名上,如www.123.cn,www.123.net,都可以跳转到主域名www.123.com。
如此就可以防止其他黑心人抢注域名来做相同行业,而用户对于域名的理解并不深,很多人不能区分官网,会让用户误解进入错误网页造成损失,主域名通过多个形似的域名来进行301跳转,保护官网。
2、权重转移利SEO
当我们域名在不得已的情况下需要进行停止解析或者替换时,我们通过做301来进行跳转,将旧域名跳转到新域名,避免打不开网页造成用户和流量流失。
同时旧域名因为本身在搜索引擎中有了一定的权重,我们直接扔掉的话会非常的可惜,我们前面的优化就白做了,因此做301重定向相当于做了一个继承,将旧域名的权重慢慢转移到新域名,由新域名进行继承,对seo有很大的帮助。
需要注意的是域名虽然做了301操作,但权重的转移是比较慢的,有的网站甚至半年了权重还没有完全转移,在转移的过程中或多或少会造成一些权重流失,所以非必要情况下不建议更换域名。
重定向代码设置
以下皆为顶级域名到二级域名www的跳转
1、apache主机
新建一个.htaccess文件,代码如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^seo-6.com$ [NC]
RewriteRule ^(.*)$ http://www.seohet.com/$1 [R=301,L]
</IfModule>
2、iis6主机
isapi筛选器-开启自定义url伪静态支持,找到httpd.conf该文件
代码如下:
RewriteCond %{HTTP:Host} ^seo-6.com$ [NC]
RewriteRule (.*) http://www.seohet.com$1 [NC,R=301]
3、win主机
找到web.config文件,代码如下:
<rewrite><rules><rule name="301Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^seo-6.com$" />
</conditions>
<action type="Redirect" url="http://www.seo-6.com/{R:0}" redirectType="Permanent" />
</rule></rules></rewrite>