Joomla 2.5 с SSL(https), решение проблемы с циклической переадресацией
Поднятие Joomla 2.5 на SSL (HTTPS) может столкнуть вас с неприятной проблемой - циклической переадресацией. Это особенно актуально, если ваш веб-сервер nginx работает в качестве фронтэнда для apache2, а клиент установил SSL-сертификат на свой домен. Не волнуйтесь, мы предлагаем решение для этой проблемы.
Настройка Joomla:
- Изменение конфигурационного файла
configuration.php
:Вам необходимо отредактировать файл
configuration.php
, который находится в корне вашего сайта. Убедитесь, что следующие директивы имеют такой вид:..... public $live_site = 'https://ваш_домен.ru'; ..... public $force_ssl = '2'; .....
Настройка сервера:
- Редирект с HTTP на HTTPS в
.htaccess
:Добавьте следующие правила в ваш файл
.htaccess
, чтобы осуществить перенаправление с HTTP на HTTPS:RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Изменение файла
uri.php
в Joomla:Откройте файл
uri.php
, который находится по пути./libraries/joomla/environment/uri.php
. В нем вам нужно найти и изменить следующий код: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://'; // Изменение производится здесь }
Эти шаги должны помочь вам избежать циклической переадресации и успешно поднять Joomla 2.5 на SSL. Если у вас остались какие-либо вопросы, не стесняйтесь обращаться к нам!