2013-10-17 12 views
7

Jak mogę zmusić SSL dla danej domeny aktualnie mam.htaccess siła ssl dla konkretnej domeny

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] 

To działa, jednak mam kilka dodać domen na moim hostingu i przy próbie dostępu do inne domeny dodatków, domeny dodatkowe są również zmuszone do używania SSL.

Próbowałem to:

RewriteCond %{HTTP_HOST} ^exampledomain\.org$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.exampledomain\.org$ 
RewriteRule ^/?$ "https\:\/\/www\.examplemydomain\.org\/" [R=301,L] 

Ale to daje mi nieskończoną pętlę.

Odpowiedz

16

To powinno działać:

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} exampledomain\.org$ [NC] 
RewriteRule^https://www.examplemydomain.org%{REQUEST_URI} [R=301,L,NE] 
+1

Wow, że jeden działał ... człowiek tnx. Kudos –

+1

Ta przestrzeń między adresem karetki a adresem docelowym jest raczej ważna ;-) Nauczyłem się czegoś, częściowo metodą prób i błędów. –

+0

@anubhava, co powiesz na subdomeny? na przykład: sub.exampledomain.com –

0

try:

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www\.){0,1}exampledomain\.org$ 
RewriteRule ^/?$ "https\:\/\/www\.examplemydomain\.org\/" [R=301,L] 
2

Wygląda na to, że robisz 2 różne rzeczy tutaj. Dodajesz numer www, gdy go brakuje, i wymuszasz używanie SSL, gdy nie jest używany. Tak więc istnieją 2 różne warunki i każda z nich, która jest prawdziwa, powinna wymusić przekierowanie. Oznacza to, że chcesz użyć flagi [OR], ale sposób, w jaki ją używasz, ulega przerwaniu, jeśli żądanie to jest już SSL. Wypróbuj:

RewriteCond %{HTTP_HOST} ^exampledomain\.org$ [OR] 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://www.examplemydomain.org/$1 [R=301,L]