修改.htaccess文件实现域名间的301跳转

  出于SEO、PR值传递、网址转换的目的,在网站初建和网站迁移时我们都需要使用301重定向,通常包括域名对域名,目录对目录和一个独立网址对另一个独立网址的重定向。在bluehost虚拟主机上作301重定向,最常用的方法有2种:

  1.直接编辑.htaccess。

  2.用cPanel设定。

  实质二者都是修改文件.htaccess,只是前者手工编辑,后者是由cPanel完成。用cPanel操作相当简单,登陆你的 cPanel(bluehost虚拟主机可以选简体中文)–>Domain–>Redirects,选择相应的选项即可完成设置,这里暂不讨论。下面讲一下直接编辑.htaccess的方法。

  注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。

  1.重定向domain.com到www.domain.com

  这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。

  打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)

  RewriteEngine On

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

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

  2.重定向www.domain.com到domain.com

  RewriteEngine On

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

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

  3.重定向olddomain.com到www.newdomain.com

  RewriteEngine On

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

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

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

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

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

  4.重定向olddomain.com to newdomain.com

  RewriteEngine On

  RewriteBase /

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

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

  把老域名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文件。

  5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

  RewriteCond %{HTTP_HOST} ^www.domain.com$

  RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]

  参考文档1:http://www.sjyhome.com/htaccess/301-redirect.html

  参考文档2:​http://blog.sina.com.cn/s/blog_572ccc220101fnb6.html

相关新闻

联系我们

188-0666-3235

在线咨询:点击这里给我发消息

邮件:piok@haoshangbang.cn

工作时间:周一至周五,10:00 - 22:00,节假日休息

QR code