Как перенаправить все HTTP-запросы в HTTPS - PullRequest
273 голосов
/ 03 ноября 2010

Я пытаюсь перенаправить все незащищенные HTTP-запросы на моем сайте (например, http://www.example.com) на HTTPS (https://www.example.com). Я использую PHP, кстати. Могу ли я сделать это в .htaccess?

Ответы [ 24 ]

0 голосов
/ 15 апреля 2019

Это перенаправляет все URL-адреса на https и www

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTPS_HOST} !^www.example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
0 голосов
/ 17 июля 2015

Другой край этой проблемы - когда в игру вступает Балансировщик нагрузки.

Ситуация следующая: - Трафик из браузера в балансировщик нагрузки и обратно - это (должен быть) HTTPS - Трафик между балансировщиком нагрузки и реальным веб-сервером - HTTP.

Итак, все переменные запроса сервера в PHP или Apache показывают, что соединение является просто HTTP. И каталоги HTTP и HTTPS на Сервере одинаковы.

Условие перезаписи в утвержденном ответе не работает. Это дает либо цикл, либо он просто не работает.

Вопрос: как заставить это работать на Балансировщике нагрузки.

(Или неправильно настроен балансировщик нагрузки. Это то, на что я надеюсь, потому что тогда я могу передать проблему компании WebHosting :-))

0 голосов
/ 17 мая 2019

возьми этот код тебе .htaccess файл Перенаправить HTTP на HTTPS автоматически

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

0 голосов
/ 03 ноября 2010

Если вы используете Apache, mod_rewrite является самым простым решением, и в нем есть много документации, как это сделать.Например: http://www.askapache.com/htaccess/http-https-rewriterule-redirect.html

...