2016-05-20 3 views
0

У меня проблема. Я просто хочу перенаправить mydomain.com на www.mydomain.com, но найденные решения делают мои другие поддомены похожими на admin. mydomain.com перенаправляется на www.admin.mydomain.com. У меня есть Ubuntu 14.04 с Apache и работает с Laravel (PHP).Как перенаправить не-www на www в моем домене

Я просто хочу, чтобы это произошло, когда это mydomain.com/.... для www.mydomain.com/... но нет, когда есть что-то еще в самом начале, как admin.mydomain.com

Я оставляю здесь решение, которое я нашел, но у меня есть эта небольшая проблема, которую я только что объяснил.

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

ответ

1

Вы можете указать домен, который вы хотите перенаправить:

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

Вот правило, которое я использую для принудительного использования www.

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Это должен быть помещен только внутри VirtualHost, который имеет верхнее определение уровня домена

ServerName exmaple.com 

Каждый другой подобласти должен иметь свое собственное определение виртуального хоста.

1
# Redirect anything except admin.yourdomain.com, admin1.yourdomain.com 
RewriteCond %{HTTP_HOST} !^(admin|admin1)\.yourdomain\.com$ [NC] 
# Redirect to www.yourdomain.com, without changing the URI 
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=302] 

Для нескольких субдоменов это будет работать

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

Но проблема в том, что есть много подобласти, один для каждый клиент у нас есть. Есть ли способ решить это? –

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