2014-01-03 2 views
3

Я пытался настроить это для своего сайта, но не смог.Force HTTPS и WWW для домена и только HTTPS для поддоменов HTACESS

Я использую cond на моем .htaccess, чтобы заставить www для основного домена и ничего для субдоменов, но поскольку у меня есть SSL, у меня возникают некоторые проблемы.

Это подстановочный знак SSL.

Мне нужна сила HTTPS: // WWW в основном домене и HTTPS: // на поддоменах.

т.е: http://www.domain.com ->https://subdomain.domain.com

Есть ли правила для этого? Спасибо!

EDITED

Теперь я использую, как Джон отправил

RewriteEngine On 
RewriteCond %{HTTPS} !=on [OR] 
RewriteCond %{HTTP_HOST} ^domain\.com\.br$ [NC] 
RewriteRule ^.*$ https://www.domain.com.br%{REQUEST_URI} [R,L] 
# ---------- # 
RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com\.br$ [NC] 
RewriteCond %{HTTP_HOST} ^(?:www\.|)(.*)$ [NC] 
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L] 

Дело в том, когда на основной домен, если я типа HTTP: // с или без WWW, ИК силы HTTPS: // и WWW, это нормально ...

Но на субдомене, когда я набираю HTTP, он не заставляет HTTPS, он перенаправляется только на основной домен ... это не происходит, если я помещаю .htaccess внутри каталога субдомена. С .htaccess внутри моего субдомена dir, если я набираю HTTP, он заставляет HTTPS нормально ...

Любые предложения?

+0

Что ваш Htaccess выглядеть теперь –

+0

Теперь он выглядит следующим образом:!. 'RewriteEngine On' ' RewriteCond% {HTTPS} = on' 'RewriteRule^* $ https://% {SERVER_NAME}% {REQUEST_URI} [R, L] ' Это не заставляет WWW, но, по крайней мере, пока что заставляет HTTPS. –

+0

Основной домен должен заставлять HTTPS и WWW ... субдомены должны заставлять HTTPS и NON-WWW –

ответ

6

Try:

RewriteEngine On 

# for subdomains 
RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(?:www\.|)(.*)$ [NC] 
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L] 

# for main domains 
RewriteCond %{HTTPS} !=on [OR] 
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteRule ^.*$ https://www.domain.com%{REQUEST_URI} [R,L] 
+0

Практически там! 50% того, что мне нужно XD! Это правильное использование HTTPS и WWW для основного домена. Для поддоменов, если я набираю: www.subdomain.domain.com Я получаю предупреждение SSL, вот чего я пытаюсь избежать. –

+0

@ KauêPorte никоим образом не избежать этого, так как ваш сертификат является '* .domain.com' и ** не **' * .subdomain.domain.com'. –

+0

Я вижу. Даже не устанавливать .htacces внутри субдомена, заставляющего не-WWW? –

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