2014-09-05 3 views
3

В настоящее время мой Htaccess кодHTAccess добавить WWW с HTTPS перенаправлять

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


#send all traffic to https 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Это работает, когда следующие адреса введены

 
1. https://example.com -> https://www.example.com 
2. http://example.com -> https://www.example.com 
3. http://www.example.com -> https://www.example.com 
4. https://example.com -> https://www.example.com 
5. https://example.com/somepage -> https://www.example.com/somepage 
6. http://www.example.com/somepage -> https://www.example.com/somepage 

Но это не работает, когда оба протокола HTTPS и WWW нет пока пытаюсь получить доступ к какой-то странице, вместо этого перенаправлять странный URL

 
7. http://example.com/somepage -> https://www.example.com/https://example.com/somepage 

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

ответ

4

Заменить текущий код этого один

RewriteEngine On 

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

Примечание: возможно, вам придется очистить кэш браузера, чтобы он работал на http://example.com/somepage

+1

работает как шарм ... спасибо –

+1

Извините. Просто сделал. Еще раз спасибо Джастин. –

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