codeigniter ion auth https перенаправить бесконечный цикл
У меня проблема при попытке получить доступ к странице через https. Я использую Codeigniter и Ion Auth
Это мой конфиг:
$config['base_url'] = "http".((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "")."://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
Это мой файл.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|login|pages)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(css|images|js|style)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
Ошибка 310 (net::ERR_TOO_MANY_REDIRECTS): было слишком много перенаправлений.
Веб-страница по адресу https: //subdomain.domain.tld/auth/login привела к слишком большому количеству перенаправлений.
1 ответ
Вы перенаправляете на страницу без SSL, если пользователь заходит по https, который перенаправляет обратно на https:
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|login|pages)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
Это отправляет пользователя https
(который вызовет приведенный ниже Cond)
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(css|images|js|style)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301]
это перенаправляет пользователя обратно на http, который будет перенаправлять его сюда до бесконечности
попробуйте это для вашего %{HTTPS} on
состояние:
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(css|images|js|style)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
(обратите внимание на https в RewriteRule
)