htaccess добавить www, если не поддомен, если субдомен удалить www

Я пытаюсь сделать это – возможно, пример был бы лучшим, так что:

domain.com -> www.domain.com www.domain.com -> www.domain.com subdomain.domain.com -> subdomain.domain.com www.subdomain.domain.com -> subdomain.domain.com 

Поэтому, если посетитель находится в субдомене, не добавляйте www и когда он установлен, удалите его. Иначе, если не в субдомене, добавьте www. Я попытался написать что-то вроде этого, но это не удаляет www из адреса поддомена: / Кроме того, если это возможно, я не хочу использовать домены домена и доменов, но сделаю их максимально универсальными. Не могли бы вы помочь мне, где может быть проблема, пожалуйста?

 # add www if not subdomain RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301] # remove www if subdomain RewriteCond %{HTTP_HOST} ^www\.([^\.]*)\.%{HTTP_HOST}+$ [NC] RewriteRule (.*) http://%1.%{HTTP_HOST}/$1 [R=301,L] 

Этот файл у меня есть в корне:

 # htaccess rules for subdomains and aliases # to create new subdomain, create a folder www/subdom/(subdomain name) # to create web for alias, create a folder www/domains/(whole domain name) # htaccess pravidla pro subdomeny a samostatne weby aliasu # pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny) # pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev) # dalsi info a priklady: http://kb.wedos.com/r/32/webhosting-htaccess.html RewriteEngine On # cele domeny (aliasy) RewriteCond %{REQUEST_URI} !^domains/ RewriteCond %{REQUEST_URI} !^/domains/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d RewriteRule (.*) domains/%2/$1 [DPI] # subdomeny (s nebo bez www na zacatku) RewriteCond %{REQUEST_URI} !^subdom/ RewriteCond %{REQUEST_URI} !^/subdom/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$ RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d RewriteRule (.*) subdom/%2/$1 [DPI] # aliasy - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R] # subdomeny - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R] 

Related of "htaccess добавить www, если не поддомен, если субдомен удалить www"

Имейте это так:

 # add www if not subdomain RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # remove www if subdomain RewriteCond %{HTTP_HOST} ^www\.([^.]+\.[^.]+\.[^.]+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]