О важности и нужности перехода на безопасный протокол HTTPS говорится много и часто. Наша же с вами задача – перевести на HTTPS сайт, разработанный в CMS MODX Revolution.
Сложностей при имеющемся и установленном сертификате SSL возникнуть не должно.
Если на вашем веб-сервере испольуется 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') ); }
При наличии абсолютных внутренних ссылок обязательно произведите их замену на относительные, чтобы избежать появления предупреждений о смешанном содержимом (если страница, переданная по протоколу https, содержит какой либо контент, передаваемый по протоколу http, то соединение считается частично зашифрованным и, значит, уже НЕ ЗАЩИЩЕННЫМ).