将非子域重定向到www忽略子域

时间:2014-04-07 11:30:44

标签: apache mod-rewrite redirect subdomain

首先,我会说我搜索解决方案,但我找不到合适的答案:(

我在1个根文件夹中有1个项目,包含多个子域(语言版本):

  

en.sitedomain.com

     

de.sitedomain.com

     

fr.sitedomain.com

我有一个www.sitedomain.com版本。

当有人去sitedomain.com(没有任何子域名)重定向到www.sitedomain.com时,我需要进行重定向

我尝试了以下内容:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

但我的重定向错误

subdomain.com ==>> www.subdomain.com  CORRECT
www.subdomain.com ==>> www.subdomain.com  CORRECT 
en.subdomain.com ==>> www.en.subdomain.com  WRONG !!!
de.subdomain.com ==>> www.de.subdomain.com  WRONG !!! 

任何人都可以帮助我:)

1 个答案:

答案 0 :(得分:2)

您只需这样做:验证HTTP_HOST是否等于sitedomain.com
如果是,则重定向到www.sitedomain.com

尝试以下操作(我省略了https部分)

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