强制www。没有强制它在子域名?

时间:2013-04-24 01:57:47

标签: apache .htaccess subdomain

我目前正在使用ht.access强制在我的域名上使用WWW前缀....

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

我想保留它,但对于我的子域名,它显示为

www.subdomain.mydomain.com但我希望它没有www。在我的子域名....

目前: http://www.subdomain.mydomain.com 想要: http://subdomain.mydomain.com

对于该代码或任何其他.htaccess代码是否有任何已知的良好编辑来执行我需要的操作?

1 个答案:

答案 0 :(得分:1)

您必须明确表示域名或仅假设特定数量的TLD(否则会变得更难)。

明确关于域名:

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

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.domain\.com [NC]
RewriteCond %{HTTPS}s::%1 ^(on(s)|offs)::(.*)$
RewriteRule ^ http%2://%3.domain.com%{REQUEST_URI} [R=301,L]

或只有1个TLD:

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

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.[^.]+\.[^.]{2,4})$ [NC]
RewriteCond %{HTTPS}s::%1 ^(on(s)|offs)::(.*)$
RewriteRule ^ http%2://%3.domain.com%{REQUEST_URI} [R=301,L]