写这篇日志主要是看到最近很多和落雪一样Blogger最近变更域名的行动,希望这篇日志能够给大家提供一些帮助。很多Blogger原来不小心和我一样买了CN域名,这段时间国家正在进行整顿,仅一月份就关闭了170万个CN域名,那么我们侥幸在天朝的国度下做着个人站点,相信每个人都在想更妥善的方法来解决这种危机。
很多人和我一样从国外的域名注册商买了新域名做替补,但是新域名权值很低,同时收录量也不高,如何保证我们原有域名在SEO、PR、收录、流量等各方面都能平滑的传递到新域名呢,这时候我们必须考虑不同域名的301重定向,本文重点介绍如何使用.htaccess进行域名重定向以帮助大家最大程度降低域名转换的损失。
301 重定向,通常包括域名对域名,目录对目录和一个独立网址对另一个独立网址的重定向。在虚拟主机上作 301 重定向,最常用的方法有2种:
1.直接编辑 .htaccess。
2.用 cPanel 设定。
实质二者都是修改文件 .htaccess,只是前者手工编辑,后者是由 cPanel 完成。用 cPanel 操作相当简单,登陆你的 cPanel–>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]
4.重定向olddomain.com to newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
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]
最后,别忘了通知Google和百度,你的网站正在切换域名:
