2013-04-24 2 views
1

настоящее время я использую ht.access, чтобы заставить WWW префикс на моем имени домена ....Force 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

Вам нужно будет либо быть явным о доменном имени, либо предполагать только определенное количество 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] 
Смежные вопросы