У меня есть сайт, который имеет публичную и приватную область.Частная зона должна обслуживаться через HTTPS.Я хочу один раз перенаправить на явный URL-адрес HTTPS, а затем, используя относительные URL-адреса, обеспечить безопасность всех ссылок.Когда пользователь выходит из системы, я буду явно ссылаться на абсолютный незащищенный URL-адрес HTTP.
Моя форма входа отображается незащищенным сайтом через обычный HTTP.Моя форма входа отправляется на https://www.mysite.com/login/validate
, который загружается с использованием безопасного соединения.
Мои журналы показывают, что Apache загружает URL-адрес через HTTPS, а codeigniter выполняет правильную проверку.
В концесвоей функции контроллера я перенаправляю на /myaccount
, используя метод CodeIgniter URL-помощника redirect
с относительным URL-адресом.
redirect('/myaccount');
Это приводит к перенаправлению codeigniter на URL-адрес, отличный от HTTPS.
Моя конфигурация base_url не HTTPS:
$config['base_url'] = "http://www.mysite.com"
Это потому, что некоторые части сайта безопасны, а другие нет.
Есть ли способ сообщить CodeIgniter о сохранении HTTPS при выполнении относительных перенаправлений?Почему предполагается, что я хочу перейти на сайт без HTTPS, если текущий контроллер был загружен через HTTPS, и я делаю относительное перенаправление?
Желаемое для меня поведение: если я делаю относительное перенаправление, он должен сохранять протокол, по которому был загружен текущий запрос.Вместо этого он переключается на то, что определил config base_url, даже для относительных перенаправлений.