Циклическая переадресация ssl

  • 5 Ответов
  • 1094 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

cvesty

  • Новичок
  • *
  • 2
  • 0
Здравствуйте!

Случайно в админ панели включил ssl (для всего сайта) и после этого выбивается ошибка: "На этой странице обнаружена циклическая переадресация ERR_TOO_MANY_REDIRECTS" (хром).
Пробовал менять в файле configuration.php => public $force_ssl = '0'; - правда там и так было "0". Я пробовал разные значения вводить, в итоге - ничего.
Нашел на просторах форумов еще вариант изменить в строчке "://" => "s://" в файле /libraries/joomla/uri/uri.php. Еще нашел изменить строку в файле /libraries/joomla/application/route.php, в строке 86, поменял код ($ssl === 1) на ($ssl === -1).

Но ничего не попомогло. Есть языковые плагины, но с ними работало все ок. Вот только после включения ssl все рухнуло. И да, сертификатов нет, если чего.

Может она как-то в БД отправило данные, которые влияют на значение ssl. Может там пошуршать?
Может как-то запретить переадресацию в Joomla, чтобы попасть в админку и выключить ssl, а потом включить обратно эту переадресацию.
Доступ к хостингу есть.

P.S. Joomla 3.4.3
« Последнее редактирование: 30.01.2016, 16:13:19 от cvesty »

*

cvesty

  • Новичок
  • *
  • 2
  • 0
Re: Циклическая переадресация ssl
« Ответ #1 : 30.01.2016, 21:30:10 »
В общем, бекап сайта помогло восстановить.
Тему можно закрывать.

*

PaLyCH

  • Живу я здесь
  • ******
  • 973
  • 127
  • Архитектор сайтов
Re: Циклическая переадресация ssl
« Ответ #2 : 02.09.2016, 12:25:12 »
Решение было найдено на англоязычном форуме Joomla. Чтобы исправить её нужно открыть файл ./libraries/joomla/environment/uri.php.(В Joomla 3.4 этот файл находится ./libraries/joomla/uri) Найти там код:

Код: php
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
{
$https = 's://';
}
else
{
$https = '://';
}

И изменить его на:

Код: php
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
{
$https = 's://';
}
else
{
$https = 's://';
}

*

draff

  • Практически профи
  • *******
  • 2739
  • 169
  • step by step
Re: Циклическая переадресация ssl
« Ответ #3 : 02.09.2016, 14:38:58 »
Давно и здесь есть это решение http://joomlaforum.ru/index.php/topic,329766.0.html

*

PaLyCH

  • Живу я здесь
  • ******
  • 973
  • 127
  • Архитектор сайтов
Re: Циклическая переадресация ssl
« Ответ #4 : 02.09.2016, 14:51:14 »
Давно и здесь есть это решение http://joomlaforum.ru/index.php/topic,329766.0.html
По запросу в яндексе выводится именно эта страница, сюда и добавил код

*

asingl

  • Новичок
  • *
  • 3
  • 0
Re: Циклическая переадресация ssl
« Ответ #5 : 31.01.2017, 17:25:58 »
Проблема циклической переадресации возникает в том случае, если сервер при заходе по https не устанавливает переменную $_SERVER['HTTPS'] = 'on';
Решить эту проблему можно не трогая код движка, достаточно вписать в файлы /defines.php и /administrator/defines.php (если их нет, то создать) следующий код:
<?php
if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
    $_SERVER['HTTPS'] = 'on';
}
?>