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

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

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

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

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

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

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

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

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

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

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

В файле 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