2015-03-04 4 views
0

Это то, что у меня в конф файле:HTTPS Перенаправление не работает

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^test\.old\.com$ [NC] 
RewriteCond %{HTTPS} on 
RewriteRule ^(.*)$ https://test-new.com$1 [QSA,R=301,L] 

RewriteCond %{HTTP_HOST} ^test\.old\.com$ [NC] 
RewriteRule ^(.*)$ http://test-new.com$1 [QSA,R=301,L] 

Он перенаправляет, когда я иду в test.old.com, но не Перенаправление не происходит, когда я пытаюсь https://test.old.com

Как можно перенаправить HTTPS запрос на новый домен с https в URL?

ответ

1

Вам нужно только одно правило перенаправления, чтобы перейти в новый домен, независимо от того, используется ли HTTP или https. Если вы хотите перенаправить с старого на новый с https в новом домене, вы можете использовать это.

RewriteCond %{HTTP_HOST} ^test\.old\.com$ [NC] 
RewriteRule ^(.*)$ https://test-new.com/$1 [QSA,R=301,L] 

Если вы хотите 12:59 правило и перенаправления HTTP для HTTP и HTTPS к HTTPS, то вы можете сделать это.

RewriteCond %{HTTP_HOST} ^test\.old\.com$ [NC] 
RewriteCond %{HTTPS} ^on 
RewriteRule ^(.*)$ https://test-new.com/$1 [QSA,R=301,L] 
RewriteCond %{HTTP_HOST} ^test\.old\.com$ [NC] 
RewriteCond %{HTTPS} !^on 
RewriteRule ^(.*)$ http://test-new.com/$1 [QSA,R=301,L] 

Это обеспечивает тот факт, что вы все еще имеют действительный сертификат для старого домена. Если вы этого не сделаете, то не работать на https и только с http. Вы получите предупреждение о сертификации, и перенаправление не произойдет до тех пор, пока вы не пройдете эту ошибку.

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