.htaccess重定向www。到非www但留下子域

时间:2012-05-19 08:42:36

标签: .htaccess rewrite

我现在已经搜索了很多但是找不到答案。我试图让域名(或任何其他指向它)重定向到没有'www'的版本(如果它存在),但是要保留子域以便它按以下方式工作:

http://www.domain.com -> http://domain.com
http://www.otherpointing.com -> http://domain.com
http://otherpointing.com -> http://domain.com
http://m.domain.com -> http://m.domain.com

到目前为止,我已经得到以下内容,这似乎不尊重子域名:

RewriteCond %{HTTP_HOST} !^domain\.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} !^(.+\.)?domain\.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

或者可选地,保留其他域中的子域名:

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} !^(.+\.)?domain\.com$ [NC] 
RewriteRule ^(.*)$ http://%1domain.com/$1 [L,R=301]