Joomla SSL циклическое перенаправление

[Решено] Joomla SSL(HTTPS) бесконечное перенаправление

Опубликовано в Веб-разработка

В статье описаны способы решения проблемы с бесконечным перенаправлением после включения SSL в Joomla

Если вы здесь, то, вероятно, уже поздно говорить о подготовительных моментах перед активацией функции SSL в Joomla, но может вы тот счастливчик, которому повезло найти эту статью и избежать часовой, дневной, недельной головоломки в поисках исправления сложившейся ситуации. Надеюсь статья вам поможет.

Существует несколько способов решения проблемы, связанной с бесконечным редиректом в Joomla после включения SSL. Зачастую, так или иначе, правки вносятся в файл .htaccess, config.php, либо базу данных. Разберем несколько вариантов решения этой проблемы.

Решение 1. Корректируем HTTPS через .htaccess

Вот первый и, как оказалось для меня, наименее очевидный выход - добавить в файл .htaccess следующую строку:

SetEnvIf X-HTTPS 1 HTTPS

Почему наименее очевидный? Весь Интернет говорит о решениях, описанных ниже. Не знаю, может эта информация и есть где-то на плохо проиндексированном сайте, либо та страница вызывает отказы в 90% случаев, т.к. содержит мало информации в себе, из-за чего не появляется в первых результатах поисковой выдачи по запросам типа "joomla ssl https redirect loop". Этот способ мне посоветовал друг, ведущий отличный блог об администрировании Windows и обратившийся в техническую поддержку хостинга раньше меня, спасибо ему.

Решение 2. Корректируем HTTPS через .htaccess

Другой выход - добавить в .htaccess ОДНУ ИЗ ПАР (не все подряд!) строк нижеприведенного кода:

RewriteCond %{HTTPS} OFF
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

либо

RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

либо

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Решение 3. Добавляем HTTPS в config.php к адресу сайта

В файле config.php установить вручную значение для переменной $live_site

public $live_site = 'https://адрес-вашего-сайта';

Решение 4. Чистим Cookies

И да, как бы ни банально это звучало, и как бы ни банально это было, берем и чистит куки сайта, кэш страниц, всё, что связанно с "проблемным" сайтом в браузере, чистим всё.

Добавить комментарий


Защитный код
Обновить