2013-04-11 5 views
5

Muszę przekierować jedną domenę https://www.mydomain.com to https://mydomain.com. Używam tego .htaccess i nie działa dla mnie.Przekieruj wszystkie strony https://www.mydomain.com na adres https://mydomain.com, używając htaccess (2 SSL HOST w cpanelu).

Wcześniej mam cert SSL https://www.mydomain.com i został spłukany, rejestrujemy nową SSL dla hosta https://mydomain.com

W WHM jest tylko jeden gospodarz ssl ale w cpanel istnieją dwa gospodarze jeden jest stary www.mydomain.com i mydomain.com (Czy ten efekt dotyczy przekierowania?)

.htaccess jest poniżej.

RewriteEngine on 

RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC] 
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L] 

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC] 
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L] 

Otrzymuję alert zabezpieczeń zawsze, gdy wpisuję https://www.mydomain.com.

Co za błąd, który tu zrobiłem?

góry dzięki

+0

Jaka jest różnica między 2 & 3 –

+0

Używam {HTTPS_HOST} w 3rd – Pus

Odpowiedz

0

Co jest błędem tutaj?

Błędem jest, że istnieje jest nie zmienna %{HTTPS_HOST}. %{HTTP_HOST} to nagłówek żądania (Host), który jest częścią protokołu HTTP. Nie trzeba 3rd linię, co chcesz zrobić, to sprawdzić, czy wniosek był HTTPS za pomocą %{HTTPS} zmienną jak robisz w pierwszym warunkiem:

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC] 
RewriteRule ^(.*)$ https://mydomain.com/$1 [L,R=301] 

RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC] 
RewriteRule ^(.*)$ https://mydomain.com/$1 [L,R=301] 
+0

Dzięki za odpowiedź jest świetna odpowiedź, ale nie mogę przekierować "https://www.mydomain.com" na "https://mydomain.com" ohters są w porządku. Główną kwestią jest to, że mam certyfikat ssl "https://www.mydomain.com" z powodu problemów z serwerem ssl to break i nowo zainstalować ssl w "http://mydomain.com". Czy to jest problem? Co mówisz? – Pus