在網站運營的過程中,有時因一些不同的訪問要求(譬如使用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]