2015-09-10 4 views
0

Я пытаюсь перенаправить все HTTP-трафик на https. Я не установил и SSL-сертификат на своем сервере и не использовал гибкую SSL-опцию cloudflare.Перенаправить http-трафик на https с помощью .htaccess

Следующий код работает файлу

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

Но перенаправляет http://www.example.com к https://example.com

Однако, когда я добавить этот

RewriteCond %{HTTP_HOST} ^(.*) 
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 

для перенаправления всех не WWW адреса, как http://example.com к https://example.com

Сайт не загружается и дает мне ошибку Слишком много переадресаций в браузере. Как я могу исправить это и перенаправить весь мой трафик http на https: //?

Благодаря

ответ

1

Если у вас нет SSL сертификата на сервере, необходимо установить CloudFlare SSL для «гибкой».

По их blog post вы можете установить следующее в ваш .htaccess:

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' 
RewriteRule ^(.*)$ https://www.domain.com/$1 [L] 

Ваши текущие проверки настройки, если запрос приходит ваш сервер через HTTPS, но так как вы не имеете сертификат, который не может работать. CloudFlare перенаправляет все https-запросы на http, ваш сервер затем перенаправляет на https и т. Д.