2015-05-14 2 views
0

У меня есть RewriteRule, который перенаправляет мой основной домен на https://www.sta-games.com, который отлично работает, но когда я пытаюсь получить доступ к моему поддомену http://files.sta-games.com, он перенаправляется на мой основной домен.htaccess http to https с www. Без перенаправления поддомена

Heres мой редирект правила

#HTTPS Redirection 
RewriteCond %{HTTPS} off 

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

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

Может кто-нибудь увидеть проблему?

+1

Второе условие и правило объявляют, что если хост не запускается с 'www.', будет выполняться перенаправление на домен https: // www.'. – showdev

+0

Ваши правила выглядят прекрасно. Проверьте это в инструменте Chrome dev и посмотрите, какие перенаправления вы получаете. – anubhava

+0

Я пробовал, но это домен меняется на 'https: // www.files.sta-games.com', а на странице показана моя главная страница – dakotaeggers3

ответ

0

Вам необходимо настроить свои правила, чтобы он искал весь домен, а не только его часть. Прямо сейчас вы ищете только www. Вот почему ваш субдомен перенаправляется.

Прежде всего вам необходимо объединить свои правила, потому что кажется, что вы хотите перенаправить, если https не включен, и нет www, поэтому сделайте это одно правило. Затем используйте свое фактическое доменное имя в правиле. Замените example.com своим доменом. Это должно решить вашу проблему.

#HTTPS Redirection 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com 
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [L,R=301] 
0

Есть дополнительное условие пропуска для всех доменов, кроме основного домена:

RewriteCond %{HTTP_HOST} ^(www\.)?sta-games\.com$ [NC] 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.sta-games.com%{REQUEST_URI} [L,R=301,NE] 

теста это после очистки кэша браузера.

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