Почему я попадаю в бесконечный цикл перенаправлений? - PullRequest
0 голосов
/ 11 января 2019

Я установил базовое приложение Yii2 и хочу заставить все соединения использовать HTTPS вместо HTTP. Вот мой .htaccess:

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule (.+)/$ /$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index\.html
RewriteRule ^(.*)index.html /$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/main\.html
RewriteRule ^(.*)main.html /$1 [R=301,L]

# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward the request to index.php
RewriteRule . index.php

А в web / index.php я добавляю

$_SERVER['HTTPS']='on';

Когда я открываю сайт, я вижу ошибку "слишком много перенаправлений". Я проверяю Chrome Network Inspector и вижу, что с https://example.org я перенаправляю на https://example.org и, таким образом, вхожу в цикл

1 Ответ

0 голосов
/ 11 января 2019

Я использовал следующий код для перенаправления http на https в файле .htaccess

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

Перенаправляет все запросы через порт 80 на https.

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