apache环境利用.htaccess文件实现301重定向
出于SEO、PR值传递、网址转换的目的,在网站初建和网站迁移时我们都需要使用301重定向,通常包括域名对域名,目录对目录和一个独立网址对另一个独立网址的重定向。
注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。
打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
1 2 3 | RewriteEngine On RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] |
2.重定向www.domain.com到domain.com
1 2 3 | RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] |
3.重定向olddomain.com到www.newdomain.com
1 2 3 | RewriteEngine On RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] |
4.重定向olddomain.com to newdomain.com
1 2 3 4 | 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
1 2 | RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L] |
上一篇: 彬彬你有冇高估自己既能力?
下一篇: 成日个心罗罗乱,30年春秋白纸!
2012/11/07 19:18:22
分析的很透彻,很欣赏你的看法,学习了。
2012/11/12 09:23:27
有道理。很受启发。
2012/11/16 19:18:53
自己平时都很少关注这个的
2012/11/20 21:29:03
这个我也是需要单页面301的时候在网上找的,搞下来做个记号,不用经常去网上找,哈哈~
2012/11/18 16:42:01
我用的Nginx的VPS了,这个用不着了……
可不可以介绍下Nginx的规则?
2012/11/20 21:29:25
呵呵,我用的是2003~~