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 вызвала слишком много переадресаций.


person RednBlack    schedule 27.11.2012    source источник


Ответы (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)

person stormdrain    schedule 27.11.2012
comment
Я пытался, но все равно получаю ту же ошибку: Много перенаправлений!! - person RednBlack; 27.11.2012
comment
Это происходит и на других страницах или только на странице авторизации/входа? - person stormdrain; 27.11.2012