Http to https ошибка "ERR_TOO_MANY_REDIRECTS" - PullRequest
1 голос
/ 21 апреля 2020

Моя проблема указана c, потому что перенаправления сайта немного сложны в www folder с php кодами

индекса. php

 <?
header("Location:https://www.example.org/kods_bird/uye/?fsx=@");
?>

это перенаправление существует и папка kods bird имеет такой же редирект

my .htaccess, расположенный в www folder

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


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

Почему ошибка ERR_TOO_MANY_REDIRECTS?

Какое решение я ищу для?

url request:http://www.example.org%{REQUEST_URI}
url redirect:https://www.example.org%{REQUEST_URI}

1 Ответ

0 голосов
/ 21 апреля 2020

Итак, возникла логическая проблема, которая вызвала зацикливание внутри правил.

Так что попробуйте это исправить:

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

# if https but without www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

давайте проанализируем 1-ю ситуацию:

http://www.example.org%{REQUEST_URI}

будет обработано первым правилом (https off), которое будет перенаправлено с версией https:

https://www.example.org%{REQUEST_URI}

давайте проанализируем 2-ю ситуацию:

http://example.org%{REQUEST_URI}

будет обработано первым правилом (https off), который будет перенаправлен с версией https:

https://example.org%{REQUEST_URI}

и после быть обработан вторым правилом, которое добавит www. в качестве префикса:

https://www.example.org%{REQUEST_URI}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...