301重定向

子痕 2010/03/1110阅读 575 次 1707字阅读5分41秒
摘要

所谓301永久重定向(或叫301转向,301跳转),是指当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

常见的301重定向的方法有:

1、在.htaccess文件中增加301重定向指令

  采用“mod_rewrite”技术,形如:

RewriteEngine on
RewriteRule ^(.*)$ http://www.dfwolf.com/$1 [R=301,L]

拓展:详细讲讲以apache和nginx为环境搭建的服务器的重指向。

Apache配置.htaccess
.htaccess主要是应用于apache环境的服务器,具体的操作需要分两步:
a. 将网站文件放置在新的域名下面,即主域名访问的网站。
b. 新旧域名分别绑定在两个虚拟主机上,在旧的域名下,写下以下内容存为.htaccess放入根目录,

RedirectMatch permanent ^/(.*)$ http://www.newdomain.com/$1

Nginx配置config
只要在config文件里添加如下语句即可,新旧域名可以绑定在同一个虚拟主机上,这就是Nginx的方便之处。

if ($host != ‘www.newdomain.com’ ) {
rewrite ^/(.*)$ http://www.newdomain.com/$1 permanent;
}

[ad#co-m1]所谓301永久重定向(或叫301转向,301跳转),是指当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

常见的301重定向的方法有:

1、在.htaccess文件中增加301重定向指令

  采用“mod_rewrite”技术,形如:

RewriteEngine on
RewriteRule ^(.*)$ http://www.dfwolf.com/$1 [R=301,L]

拓展:详细讲讲以apache和nginx为环境搭建的服务器的重指向。

Apache配置.htaccess
.htaccess主要是应用于apache环境的服务器,具体的操作需要分两步:
a. 将网站文件放置在新的域名下面,即主域名访问的网站。
b. 新旧域名分别绑定在两个虚拟主机上,在旧的域名下,写下以下内容存为.htaccess放入根目录,

RedirectMatch permanent ^/(.*)$ http://www.newdomain.com/$1

Nginx配置config
只要在config文件里添加如下语句即可,新旧域名可以绑定在同一个虚拟主机上,这就是Nginx的方便之处。

if ($host != 'www.newdomain.com' ) {
rewrite ^/(.*)$ http://www.newdomain.com/$1 permanent;
}

2、适用于使用Unix网络服务器的用户

  通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。

  形如:Redirect 301 / https://www.mzihen.com/

3、在服务器软件的系统管理员配置区完成301重定向

  适用于使用Window网络服务器的用户

4、绑定/本地DNS

  如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。

  DNS服务器的设置

  若要将blog.mzihen.com指向www.mzihen.com,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME www.mzihen.com。

  如需配置大量的虚拟域名,则可写成:* IN CNAME www.mzihen.com.

  这样就可将所有未设置的以mzihen.com结尾的记录全部重定向到www.mzihen.com上。

5、用ASP/PHP实现301重定向:

ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","https://www.mzihen.com/"
Response.End

PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:https://www.mzihen.com/");
exit();

除了301永久性转移,还有302暂时性转移定向。

302 redirect: 302代表暂时性转移(Temporarily Moved )。

迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。

在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

所以不推荐302指向。
[ad#co-b1]

  • 本文由 发表于 2010/03/11
  • 转载请务必保留本文链接:https://www.mzihen.com/301-direction/
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:10   其中:访客  10   博主  0
    • ADAI ADAI 5

      哎 一看到此等深奥的东西 我只能吱一声:来过了

      • WANGJIARONG WANGJIARONG 1

        订阅了你的博客,一直关注你的文章,感谢。

        • mm mm 0

          虽然知道怎么做重定向,不过看后温习一下也好.谢谢.

          • 课件 课件 1

            配置.htaccess我觉得是最方便和简单了

            • 断峰狼 断峰狼 1

              @课件 那要支持.htaccess的服务器环境才行

              • 鲍捷 鲍捷 1

                一直有人问301的问题,到这儿来找答案吧

                • 断峰狼 断峰狼 8

                  @鲍捷 以后直接把我地址发给他吧,哈哈哈~

                  • mila mila 3

                    哥儿,赶快写点我看得懂的,最好又刺激的文章来,我看着这篇都看得头痛了~~~~

                    • 断峰狼 断峰狼 8

                      @mila
                      你不是整博客嘛,正好看看这个补充补充知识。
                      我以后会有很多你看得懂又很羡慕的文章的,哈哈,拭目以待吧~

                      • mila mila 3

                        我的智商还没到那个境界…….
                        我睁大明亮的双眼拭目以待~~~