Как настроить HTTPS для Joomla

Продолжаем тему перехода на HTTPS для разных CMS. В этой части рассмотрим, как правильно настроить работу Joomla 3 по HTTPS.

Предыдущие части

Что такое смешанное содержимое (mixed content) и как его исправить

Как настроить HTTPS для WordPress

Как настроить HTTPS на OpenCart

Как настроить HTTPS на PrestaShop

Как настроить HTTPS на Drupal

Как настроить HTTPS для MODX

Как настроить HTTPS для 1С-Битрикс

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

Включение HTTPS в админ-панели Joomla

Вам нужно авторизоваться в админ-панели сайта по ссылке вида http://site.com/administrator/, после чего перейдите в раздел Система — Общие настройки.

joomla-ssl

Далее нажмите вкладку Сервер, в пункте Включить SSL выберите Весь сайт и сохраните.

joomla-ssl

Изменения в configuration.php

Откройте файл configuration.php в корневой папке сайта (по FTP или через файловый менеджер панели хостинга) и найдите в нем строку с параметром $live_site. Пропишите в эту строку имя вашего сайта с https:

public $live_site = 'https://site.com';

И сохраните файл.

Возможно, у вас в целях безопасности отключена возможность записи в конфигурационный файл. Тогда перед началом редактирования нужно установить для него права доступа 644.

Изменения в .htaccess

Установите перенаправление всех посетителей на HTTPS, добавив в файле .htaccess строки:

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

Решение проблем после перехода на HTTPS

Если после выполнения вышеописанных действий сайт не отображается корректно или вы видите в консоли браузера ошибки mixed content, попробуйте выполнить следующее:

  • Добавьте в configuration.php в конец файла строчку
    $_SERVER['HTTPS'] = 'on';

    После каждого обновления конфигурации эта строка будет перезаписана, потому нужно будет добавлять ее снова.

  • Добавьте в .htaccess строки:
    RewriteCond %{HTTP:X-HTTPS} ^1$
    RewriteRule .? - [E=HTTPS:on]
  • В настройках таких компонентов, как VirtueMart, есть свои настройки по включению https. Для VirtueMart перейдите в раздел Компоненты — VirtueMart — Настройки — Магазин и включите опцию Включить SSL для важных частей сайта.
  • Исправьте оставшиеся ссылки вручную. Увидеть какие элементы загружаются по http вы можете в консоли браузера

Если у вас остались какие-то вопросы после установки сертификата и настройки Joomla — обращайтесь в техподдержку в любое время.