- В «Системных настройках» сайта (раздел «Система и сервер») изменить значение «Тип сервера» (ключ под названием
server_protocol
) наhttps
. - В «Системных настройках» сайта (раздел «Сайт») изменить значение «Схема URL» (ключ под названием
link_tag_scheme
) на1
. Настроить автоматическое перенаправление с http на https, чтобы сайт был доступен только по одному, безопасному протоколу.
Если на вашем веб-сервере испольуется apache, нужно добавить в файл .htaccess следующие строчки, заменив site.ru на адрес вашего ресурса:
RewriteCond %{SERVER_PORT} !^443$>
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Если на вашем веб-сервере испольуется nginx, в конфигурационный файл нужно добавить следующие строчки:
if ($scheme = 'http') {
return 301 https://$host/;
}
Если не желаете редактировать файлы, можно воспользоваться плагином от Ильи Уткина, активировав его на событие: OnHandleRequest:
<?php
if ($modx->event->name != "OnHandleRequest") {return;}
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/robots.txt') return;
$url = $_SERVER['HTTP_HOST'];
$site_url = 'site.ru'; // заменить на свой домен
if ($url != $site_url || !$_SERVER['HTTPS']) {
$modx->sendRedirect('https://'.$site_url.$uri, array(
'responseCode' => 'HTTP/1.1 301 Moved Permanently')
);
}