2016-02-02 2 views
5

У меня нет подсказки, почему это не удается. Я просто хочу перенаправить весь домен на www.maindomain.com, а также http на https, что мне не хватает?Apache2 перенаправляется в другой домен с помощью ssl

# redirect http to https  
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

# redirect without www to www 
RewriteCond %{http_host} ^maindomain.com [nc] 
RewriteRule ^(.*)$ https://www.maindomain.com [r=301,nc] 

# redirect another domain to www.maindomain.com  
RewriteCond %{HTTPS} off # this i was missing 
RewriteCond %{HTTP_HOST} ^(www\.)?anotherdomain.com [NC] 
RewriteRule ^(.*)$ https://www.maindomain.com [R=301,L] 
  1. http://maindomain.com в https:/www.maindomain.com/ работает
  2. http://anotherdomain.com в https:/www.maindomain.com/ работает
  3. https://anotherdomain.com в https:/www.maindomain.com/ терпит неудачу
+0

странно, комментарий с RewriteCond% {HTTPS} выключен, подсказка была правильной, теперь она работает, но ответ был удален, так же как я хотел его принять, я отсутствовал 2-й RewriteCond в 3-м переадресации –

ответ

1

НТТР для перенаправления HTTPS для другого домена не удалось, потому что Ваше правило отсутствует следующая строка :

RewriteCond %{HTTPS} off 

Try:

# redirect another domain to www.maindomain.com  

RewriteCond %{HTTPS} off 

RewriteCond %{HTTP_HOST} ^(www\.)?anotherdomain.com [NC] 
RewriteRule ^(.*)$ https://www.maindomain.com [R=301,L] 
0

Вы можете попробовать это:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Просто скопируйте и вставьте этот код в файл .htaccess, то весь сайт будет перенаправлен на «HTTPS», когда браузер открывается в режиме «http». Браузер просто перенаправляется с использованием перезаписи url в .htaccess.

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