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

Без лишних вступлений продолжаем говорить о переходе на протокол HTTPS для разных CMS. Сегодня настраиваем MODX.

Раньше мы уже настраивали такие CMS:

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

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

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

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

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

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

А еще в самой первой части этого цикла мы объясняли  зачем вообще нужно настраивать ваш движок для работы по HTTPS:

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

Настройка HTTPS для MODX Evolution

В панели управления сайтом, которая обычно находится по ссылке http://site.com/manager нужно перейти в раздел Инструменты — Конфигурация  и на вкладке Сайт установить тип сервера https

Далее нужно изменить ссылку на основной адрес сайта (base href) в используемом шаблоне на https. Для этого в меню слева перейдите на вкладку Шаблоны, откройте нужный шаблон и перепишите строку, содержащую base href на такую:

<base href="https://site.com/">

modx evo https

После изменений очистите кеш через кнопку Сайт — Очистить кеш.

Возможно, у вас еще останутся ссылки по http на внешние ресурсы, такие как шрифты, которые нужно будет переписать вручную.

И последний шаг — добавляем перенаправление посетителей на HTTPS в начале файла .htaccess или после директивы RewriteEngine On:

RewriteEngine On #если еще не добавлено
RewriteBase / #если еще не добавлено
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Этот код для перенаправления на HTTPS наиболее универсальный и работающий в большинстве случаев. Иногда нужно использовать какой-либо другой вариант.

Настройка HTTPS для MODX Revolution

Для MODX Revolution настройка выглядит немного проще. Нужно перейти в панель управления сайтом http://site.com/manager в раздел Настройки — Системные настройки. В поиске по ключу напишите http. В найденных результатах нужно отредактировать параметр server_protocol — измените с http на https.

Далее, аналогично нужно изменить параметр link_tag_scheme — измените с -1 на 1.

Последний шаг — перенаправление на https. Вариант универсальных правил для перенаправления уже есть выше.

Если на MODX Revolution после выполнения указанных действий остался смешанный контент или другие проблемы, попробуйте такие варианты решения. В файле core/config/config.inc.php нужно найти строчку 

$isSecureRequest = false; 

и изменить на true:

$isSecureRequest = true;

Далее в строке

$url_scheme= $isSecureRequest? 'https://': 'http://';

поменять местами https и http:

$url_scheme= $isSecureRequest? 'http://': 'https://';

Или второй вариант, поменять эту строку на https:

$url_scheme= 'https://';

Если остались какие-либо вопросы по переходу на HTTPS — обращайтесь в техподдержку 24/7