Связаться со мной:
1 заметка с тегом

https

Joomla 2.5 с SSL(https), решение проблемы с циклической переадресацией.

Веб-сервер nginx установлен фронтэндом к apache2. Клиент установил ssl-сертификат на домен, но при включении в джумле ssl возникает ошибка: циклическая переадресация. Грубо говоря бесконечный редирект. Проверил настройки nginx и apache2, убедился что все настройки верные и переадресации быть не должно. В .htaccess тоже ничего лишнего нет.

Стандартно настраиваю ssl на джумле.
Открываю файл configuration.php в корне сайта. Привожу следующие диррективы к такому виду:

.....
public $live_site = 'https://ваш_домен.ru';
.....
public $force_ssl = '2';
.....

Для редиректа с http на https в .htaccess добавляю

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

После этого проблема переадресации никуда не исчезла, естественно. Решение было найдено на англоязычном форуме джумлы. Чтобы исправить её нужно открыть файл ./libraries/joomla/environment/uri.php.(В joomla 3.4 этот файл находится ./libraries/joomla/uri) Найти там код:

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

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

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