Ответ 1
На самом деле я предлагаю избегать использования правил перезаписи для этого.
Проблема с правилами перезаписи, которые обращаются к запросам http
в запросы https
, заключается в том, что они фактически перенаправляются. Это означает, что для каждого запроса http
, который должен быть преобразован в запрос https
, браузер сначала собирается выполнить полный запрос http
(включая контент, файлы cookie, за исключением защищенных), получить код перенаправления от сервер, а затем снова отправить запрос на https
переписанный URL.
Хотя это удобно, если вы полагаетесь на это вместо того, чтобы убедиться, что ссылки на вашем сайте, предназначенные для разделов https
, действительно используют https
, это затруднит обнаружение, когда эта ссылка неверно перенаправляясь к варианту http
.
Типичные последствия:
- предупреждения о смешанном содержании, если вы вставляете что-то с помощью
http
, связанного позже, автоматически и прозрачно превращается вhttps
, что плохо; и - возможная утечка данных.
Вместо этого я бы предположил, что вы не используете автоматическое переписывание/переадресацию и убедитесь, что разделы, предназначенные для доступа только через HTTPS, вообще не доступны для простого варианта HTTP (т.е. http://yourhost/account
должен возвращать 404s ): это, по крайней мере, заставит вас заметить, когда вы неправильно связали и поможете вам определить, где у вас может быть проблема с безопасностью. В конечном счете, хотя они имеют одинаковое имя хоста, сайт http
и https
могут иметь два разных пространства URL: это не плохо в этом контексте.
Единственный случай, когда я вижу, где переписывать от http
до https
, действительно полезен, когда вы хотите, чтобы точка входа пользователя на ваш сайт перенаправлялась.
Переписывает от https
до http
, конечно, не представляет эту проблему.