После установки SSL-ключа на сайте, возникает необходимость перенаправления URL-адреса с http на https. Как правило, на самом хостинге довольно часто встречается функционал, который позволяет выполнить редирект за защищённый протокол. Однако в случае с OpenCart, в настройках так же придётся выполнить кое-какие манипуляции. Далее мы поговорим о переводе сайта OpenCart 2.x на работу по https протоколу.
Первый шаг — это правка конфигурационных файлов сайта. Файл /config.php присутствует в OpenCart в двух папках. Первый в корне сайта, второй в папке /admin. Таким образом, править будет необходимо два файла:
/config.php
/admin/config.php
В том, что находится в корне сайта, исправляем значение константы HTTPS_SERVER. Указываем протокол https вместо http:
// HTTPS define('HTTPS_SERVER', 'https://yoursite.loc/');
Подобно этому, вносим правки в конфигурационный файл /admin/config.php:
// HTTPS define('HTTPS_SERVER', 'https://yoursite.loc/admin/'); define('HTTPS_CATALOG', 'https://yoursite.loc/');
Сохраняем изменения в файлах. После этого, в администраторской части сайта так же следует включить использование SSL. Для этого переходим в раздел настроек сервера:
Система > Настройки > Сервер
В зависимости от того как переведена ваша версия OpenCart названия кнопок могут быть немного другими. В этом моменте вам придётся интуитивно перейти в указанный раздел. Далее находим параметры безопасности, и активируем использование SSL:
После того как вы изменили настройки, в правом верхнем углу находится кнопка для сохранения изменений. После этих операций, ваш OpenCart считается настроенным для работы по https протоколу.
Если у нас нет возможности сделать перенаправление с http на https в панели управления хостингом, то реализовать это можно так же посредством файла .htaccess. Для того чтобы сайт всегда открывался через https прописываем в файле .htaccess следующую запись:
RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Затем, при обращении на URL-адрес сайта с использованием протокола http, сервер будет перенаправлять тот же адрес, изменив при этом протокол с http на https. На этом моменте и остановимся, это то, что и требовалось получить.