在网站运营的过程中,有时因一些不同的访问要求(譬如使用http://1.abc.com访问的是http://www.abc.com/1,使用http://2.abc.com访问的是http://www.abc.com/2),需对网站访问进行重定向设置。在我司的平台上,最直接最有效的做法是通过URL重写规则实现。下面给出URL重写实现重定向的的一些常用范例。
注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。(Windows主机是在/htdocs目录下,Linux主机是在根目录下)
1.重定向domain.com到www.domain.com
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 到 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
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]