2014-02-24 5 views
6

Мой основной домен в настоящее время постоянно перенаправлены www.mydomain.com (без WWW на WWW перенаправлением), с .htaccess следующим образом:как перенаправить WWW субдомен к не-WWW, когда домен перенаправляется на WWW

RewriteCond %{HTTP_HOST} ^mydomain.com$ 
RewriteRule ^/?$ "http\:\/\/www\.mydomain\.com\/" [R=301,L] 

RewriteCond %{HTTP_REFERER} !^http://mydomain.com/.*$  [NC] 
RewriteCond %{HTTP_REFERER} !^http://mydomain.com$  [NC] 
RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/.*$  [NC] 
RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com$  [NC] 

Я хотел бы знать, как все субдомены, которые я буду создавать, например. blog.mydomain.com, будет перенаправлен на не-www, например. blog.mydomain.com, и неwww.blog.mydomain.com. Каждый раз, когда я создаю субдомен и вводим URL-адрес не-www в браузер, он запрашивает цикл переадресации.

Надеюсь, вы сможете помочь! Благодаря! :)

+0

Возможный дубликат [HTAccess добавить WWW, если не субдомен , если subdomain remove www] (https://stackoverflow.com/questions/35285074/htaccess-add-www-if-not-subdomain-if-subdomain-remove-www) –

ответ

9

Держите это одно правило для всех поддоменов:

# rule for forcing www on main domain 
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

# rule for removing www on sub domains 
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.mydomain\.com)$ [NC] 
RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 
+0

благодарит за помощью благодаря. это отлично поработало :) – hello

+0

Добро пожаловать, рад, что это сработало. – anubhava

+0

Можем ли мы сделать динамическую структуру http так, чтобы, если сайт изменился на https, тогда он должен быть автоматическим? –

0

Это один поддерживает http + https в одной строке:

# Redirect www subdomain to non-www 
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.yourdomain\.com)$ [NC] 
RewriteRule^http%{ENV:protossl}://%1%{REQUEST_URI} [R=301,L] 

 Смежные вопросы

  • Нет связанных вопросов^_^