301重定向的含义 如何通过htaccess实现301重定向常见的方法

seo排名网 1100 0

今天seo排名网为大家分享301重定向的seo知识,所谓301重定向是指页面永久性移走,301重定向在seo操作中是一种非常重要的“自动转向”技术,是网址重定向实现网页集权最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

  常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:301 redirect::301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎最友好的方法,只要不是暂时搬移的情况,都建议使用301来做转址。302 redirect::302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊。各大主要搜索引擎均加强了打击力度,像Google对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎误判为spam而遭到惩罚。meta fresh: 这在2000年前比较流行,它具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之内),会被判断为spam。


  在很多情况下,网站都需要进行301或302重定向,其中一个为永久重定向,一个为临时重定向。比如网站整个更换了域名,比如网站结构或目录发生了移动,比如需要将某个域名上的文件迁移到另外的域上等等。

  有时候这种重定向对SEO或者PR值的传递是非常有效的。一般我们有几种途径制作一个htaccess文件,比如自己手动编辑,好处是非常灵活、功能强大,但坏处是很容易出错,我们强烈建议用本站的工具自动生成这个文件;另一种途径是通过空间里的控制面板进行自动编辑,这种方法比较死板,但不会因为人为原因出错,除非设置错了。

  比如CPanel控制面板中,在Domain>Redirects里面,直接选择相应的选项即可。下面我们来详细讨论一下如何手动编辑这个htaccess文件:

  务必注意:在编辑之前请备份原来的htaccess文件,以免造成损失。

  1、出于SEO考虑,将xzhuji.com重定向至www.xzhuji.com。本站就使用了这种重定向的方法避免页面权重分散。

  一旦选择了带WWW的为主域名,今后就不要随意更改,方法如下:

  RewriteEngine On

  RewriteCond %{HTTP_HOST} !^www.xzhuji.com$ [NC]

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

  上面这一句话是从反面来写的:如果域名不是带WWW的,就统一301跳转到带WWW的域名中去

  2、如果需要将域名从www.xzhuji.com跳转到xzhuji.com,则可以使用一下代码:

  RewriteEngine On

  RewriteCond %{HTTP_HOST} !^xzhuji.com$ [NC]

  RewriteRule ^(.*)$ http://xzhuji.com/$1 [L,R=301]

  3、如果需要变更域名,即将老域名换成全新的域名,但是网页内容与结构不变,则可以使用以下代码来实现:

  RewriteEngine On

  RewriteBase /

  RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

  RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

  如果是带WWW的域名间跳转,则以此类推,在域名前加上WWW即可。

  以上方法是所有的域名都跳转到指定的网站,有时候可能不需要某些域名跳转,可以用如下的方式:

  把不带www的域名301到带www的域名

  RewriteEngine On

  RewriteCond %{http_host} ^example.com$ [NC]

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

  “RewriteEngine On”,开启 Rewrite 规则开关;

  “RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为example.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;

  “RewriteRule”,定义一条重写规则。此处含义:跳转到“http://www.example.com/”接上访问请求的网址中 example.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。

  把老域名301到新域名

  更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下

  RewriteEngine On

  RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR]

  RewriteCond %{http_host} ^new.com$ [NC]

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

  现在无论你访问old.com,www.old.com,new.com都会301到www.new.com 够完美了吧!而且所有的内页也会跟着301,接下来至少等待2个月,期间不要删除原域名,静等权重完全转移!

  需要注意的是,wordpress默认情况下不支持该条命令,因为wordpress的网址本身就是伪静态的,要想实现这个功能,必须先把wordpress的内页生成html文件。

  IIS 6中的.htaccess 301定向

  以下规则适用于 IIS 6中的 ISAPI_Rewrite 2.x 3.x 中的httpd.ini或.htaccess

  注意这儿的.htaccess不是apache中的.htaccess 规则略有不同。

  RewriteCond %{HTTP:Host} ^sjyhome.com$

  RewriteRule (.*) http://www.sjyhome.com/$1 [NC,R=301]

  一般来说,以上这些是网站建设过程中非常常用的几行代码。这些代码对Google非常适用,Google很快就会按照你的意愿将收录的网址改变过来,并且如果换了域名,还能保留以前域名的PR值。

  如果个别服务器不支持htaccess ,可以用php代码重定向,加入到公共入口头部

  

301重定向的含义 如何通过htaccess实现301重定向常见的方法-第1张图片-seo排名网


标签: htaccess 301重定向

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~