SEO爱站网 logo SEO爱站网

301重定向是什么,有什么作用?如何正确地设置301重定向?

高阶白帽 1068 0 2020-08-12 20:56:15

301重定向是什么,有什么作用?

页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

在我们网站建设中,时常会遇到需要网页重定向的情况:像网站调整,改变了网站的目录结构,网页被移到一个新地址。或者网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这些情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失。又比如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。

如何正确地设置301重定向?

现在购买的虚拟主机或服务器空间,都带有301功能,可以在主机空间后台查看并开启即可。如果采用搜外6系统建站,则在B端里绑定好域名即自动实现301。

但并非所有的虚拟主机都支持这样的操作,支持这样操作的条件是:

1、linux的虚拟主机Apache的服务器,需要支持.htaccess 这个文件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在.htaccess文件开始处加入一下规则:

RewriteEngine on
RewriteCond %{http_host} ^seowhy.com [NC]
RewriteRule ^(.*)$ http://www.seowhy.com/$1 [R=301,L]
复制代码

样本查看这里:http://www.seowhy.com/faq/24_24_zh.html

2、window的虚拟主机IIS的服务器,需要有安装 ISAPI_Rewrite这个组件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在httpd.ini文件开始处加入以下规则:

RewriteEngine on
RewriteCond Host: ^seowhy\.com$
RewriteRule (.*) http\://www\.seowhy\.com$1 [R,I]
复制代码
如果采用以上代码不可行,请你尝试下这个代码:
[ISAPI_Rewrite]
RewriteEngine On
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^xxx\.com$
RewriteRule (.*) http\://www\.xxx\.com$1 [I,RP]
复制代码
对于大部分虚拟主机是不支持这样的操作,那么这时候怎么办?
以上301重定向的操作方式并非是必须的,如果主机不支持,采用以下的方式也是同样可以达到效果。

1、如果是全新的域名和网站,也就是没带www的域名暂时没有被收录,那么可以采用没带www的域名转发到带www的域名上。在域名管理后台设置转发,国内的一些域名商也不允许转发了。

2、如果网站已经存在一段时间,没带www的域名也被收录了很多页面,则采用带www和不带www的域名同时解析到网站的IP。然后,网站的主导航,分类,或次导航等一些比较重要的位置,尽可能采用带www的绝对地址。

相关疑问?
1、为什么要把没带www的域名,都通过301或其他的方式转移到带www的上面呢?
这样做主要是为了 URL标准化 ,让网站的权重都集中到某一个域名上,而不是分散开了。

2、我是否可以把带www的域名,301到不带www的域名上?
如果你发现没带www的域名排名比较好,或收录好很多,则可以把带www的域名,301到不带www的域名上。
我们之所以建议没带www的301到带www的上面,主要是因为中国人的用域名习惯,一般是习惯带www的。

3、没带www的域名不解析,也不转发,可以吗?
因为很多人访问你的网站时,可能输入没带www的域名,所以,建议是要绑定的。

4、是不是需要把index.html 或index.php等也301到主域名?
这个是不需要的。因为做301的目的是集中权重,只要做到站内和站外链接形式都采用了主域名为地址,也就是采用不带index的URL为锚文本,就可以实现集中权重的功能。而当所有链接都不带index了,用户和搜索引擎也是不会访问到带index的URL。

5、付费技术支持
如果因为服务器问题或本身技术操作总是无法实现正常的301,可以小费用请技术人员代为解决。

网友跟帖
展开