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

На этот раз рассмотрим переход на HTTPS для сайта на OpenCart 2.x и 3.x. Как обычно, рекомендуем перед внесением любых изменений на сайте создать резервную копию файлов и базы данных.

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

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

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

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

Изменение конфигурационных файлов

В файле config.php в корневой директории вашего сайта измените URL на HTTPS. Должно получиться так:

// HTTP
define('HTTP_SERVER', 'https://site.com/');

// HTTPS
define('HTTPS_SERVER', 'https://site.com/');

Далее в папке admin тоже откройте config.php и добавьте протокол HTTPS:

// HTTP
define('HTTP_SERVER', 'https://site.com/admin/');
define('HTTP_CATALOG', 'https://site.com/');

// HTTPS
define('HTTPS_SERVER', 'https://site.com/admin/');
define('HTTPS_CATALOG', 'https://site.com/');

Настройки HTTPS в админ-панели OpenCart

Авторизуйтесь в админ-панели вашего сайта по ссылке вида http://site.com/admin. Далее перейдите в раздел Система — Настройки и напротив вашего магазина нажмите иконку редактирования.

opencart ssl

На вкладке Сервер в пункте Использовать SSL отметьте Да, затем сохраните настройки.

opencart ssl
Настройка HTTPS перенаправлений в .htaccess

Следующий шаг — настройка перенаправления всех посетителей на HTTPS. Указанные ниже правила нужно добавлять в .htaccess в корневой папке сайта между строками RewriteEngine On и RewriteBase /.

  • Если у вас основное зеркало сайта без www:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  • Если у вас основное зеркало с www:
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Следующее, что нужно сделать — проверить, что перенаправления на всех страницах корректно работают, то есть версии с www и без www перенаправляют на соответствующее основное зеркало с https. На этом настройка завершена.

Как видите, для сайта на CMS OpenCart настроить работу по HTTPS довольно просто. Конечно, всегда есть некоторые частные случаи, в которых настройка будет сложнее. Если остались какие-либо вопросы по переходу на HTTPS — обращайтесь в техподдержку 24/7