Перенаправляет загрузку в http вместо https - PullRequest
0 голосов
/ 13 марта 2019

Я хочу, чтобы мой сайт всегда загружался в https, который, как я думал, был настроен, но, по-видимому, иногда при перенаправлении мой сайт все еще загружает http.

В настоящее время у меня есть следующий код:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,NE,L]

Мой хост-провайдер прислал мне ссылку, которая показывает следующий код:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

У меня вопрос, должен ли я принять их метод или есть что-то, что я мог бы добавить в свой код htaccess, чтобы все перенаправления загружались как https.

Редактировать: Кто-нибудь знает, что на самом деле делает этот кусок кода?

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'

1 Ответ

0 голосов
/ 13 марта 2019

Это CF-Visitor

этот заголовок является объектом JSON, содержащим только один ключ, называемый «схема». Значение идентично значению X-Forwarded-Proto выше - например, это будет HTTP или HTTPS, и он имеет значение, только если вам нужно включить Flexible SSL в настройках Cloudflare.

https://support.cloudflare.com/hc/en-us/articles/200170986-How-does-Cloudflare-handle-HTTP-Request-headers-CF-Visitor

Итак, чтобы проверить, лучше проверить настройку погоды htpps на том же сервере или в облачной среде, подобной этой:

RewriteEngine On
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' [OR]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Примечание: очистить кеш браузера при тестировании

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...