RSS-подписка

RSS-лента

Новые статьи

Последние комментарии


Получать обновления на эл. почту

Ваш e-mail:

Рассылка новостей от Loco

Как включить SSL и сделать редирект на HTTPS. На примере Opencart 2

Как включить SSL и сделать редирект на HTTPS. На примере Opencart 2 Браузеры во всю помечают сайты, открывающиеся по http:// как незащищённые. Советуя переходить на https, подтверждая ресурс SSL-сертификатом доверия.

1. Надо такой сертификат SSL приобрести (что недёшево бывает) у хостера, вашего или не вашего или у специальных компаний. Либо можно получить бесплатный SSL-сертификат Let'sEncrypt у вашего хостера. Бывает, что хостер может вам выделить несколько сертификатов для ваших доменов, зависит от тарифа.

2. Дальше, если у вас Opencart, то там в админке настройках надо включить SSL.

2.2 И надо в двух конфигах (config.php и admin.config.php) прописать https везде, где http

просто config.php

// HTTP
define('HTTP_SERVER', 'https://yourshop.domain.ru/');

// HTTPS
define('HTTPS_SERVER', 'https://yourshop.domain.ru/');

admin/config.php

// HTTP
define('HTTP_SERVER', 'https://yourshop.domain.ru/admin/');
define('HTTP_CATALOG', 'https://yourshop.domain.ru/');

// HTTPS
define('HTTPS_SERVER', 'https://yourshop.domain.ru/admin/');
define('HTTPS_CATALOG', 'https://yourshop.domain.ru/');

3. Грамотно настроить .htaccess, вот возможные варианты. Пишите директивы в нужной последовательности и не загромождайте файл:

Рекомендуется у хостера hts.ru в разделе Помощь потребовали всё-таки некоторой доработки. Вот что предлагалось:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteCond %{HTTP:X-SSL} !^yes$
RewriteRule (.*) https://yourshop.domain.ru/$1 [R=301,L]
</IfModule>

И вот что стало (привожу часть htaccess, где идёт речь про редиректы)

...
<IfModule mod_rewrite.c>
# начинаем с rewriteengine
RewriteEngine On
# далее проверяем, если не SSL (т.е. не https)
RewriteCond %{HTTP:X-SSL} !^yes$ [OR]
# или если домен с www
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
# то переводим на https без www
RewriteRule (.*) https://shop.inspire2.ru/$1 [R=301,L]
# все правила пишем до RewriteBase /, после него идут уже правила opencart
RewriteBase /

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
</IfModule>
... 

Проверяйте работает ли ваш редирект, например, тут: http://www.prcy-info.ru/index.php/redirect-checker, проверьте с http и с https, а также с www и без www - всё должно редиректить на один домен с https (либо с www, либо без www, смотря что настраиваете)

Проверка редиректа сайта или страницы

ещё вариант пробуйте, если не помогает

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.?yourshop.domain\.ru$ [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^(.*)$ https://yourshop.domain.ru/$1 [R=301,L]

ещё вариант

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST}  ^www\.(.+)$  [NC]
RewriteRule ^(.*)         https://%1/$1 [L,R=301]

//RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST}  ^www\.(.+)$  [NC]
RewriteRule ^(.*)         https://%1/$1 [L,R=301] 

Вообще, если какие-то непонятности с сайтом, скорее всего неграмотно составлен htaccess, надо перепроверить.

 

Дальше осталось подумать про СЕО.

Что необходимо сделать в плане СЕО при переезде на HTTPS?

  1. Добавить версию сайта с HTTPS в панель вебмастера Яндекс ( при этом старый сайт удалять не надо, они потом склеятся)
  2. В яндекс вебмастере в версии сайта с http перейти во вкладку Индексирование -> Переезд сайта и поставить галочку на пункте "Добавить HTTPS" и нажать сохранить.

    После это в течение нескольких дней произойдет склейка зеркал, а также обнулится Тиц - не стоит переживать, со следующим апом он вернется! 

  3. Добавить версии с https:// и https://www. в панель Google Webmaster
  4. Изменить в файле robots.txt директивы Host: и Sitemap: на https версии сайта. Также убедиться, чтобы карта сайта отдавала ссылки с новым протоколом.

После всех взаимодействий с переходом для оценки результатов переноса сайта на https желательно выждать около месяца и посмотреть повлиял ли переход на https на позиции сайта.

(источник - https://protectyoursite.ru/полезные-материалы/как-без-проблем-перевести-сайт-на-https)

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.