0.00 

Перенаправление c http на https (редирект)

С введением SSL сертификатов в Web произошли многие изменения, например, если у вас отсутствует сертификат, хотя бы бесплатный от Let’s Encrypt, то ваш сайт будет отображаться в адресной строке браузера либо красным, как не безопасный, либо без замочка, всё зависит от браузера. Такие сайты стали настораживать пользователей и многие начали искать решение перехода на https и способы подключения SSL сертификата бесплатно дабы не терять посетителей. Сегодня мы поговорим о том, как сделать перенаправление с http на https при наличии сертификата, иначе, браузер будет выдавать ошибку о том, что сайт не безопасен. Как получить SSL сертификат бесплатно, читайте в этой статье.

Что представляет из себя SSL-сертификат?

SSL — это протокол безопасности, он же Secure Sockets Layer. Он используется браузерами и веб-серверами, чтобы данные пользователей находились под защитой при их передаче в сети. SSL гарантирует безопасное соединение между сервером и браузером пользователя. Физически же, SSL сертификаты, это обычные файлы с данными, которые связывают между собой ключи шифрования и данные той или иной организации или физического лица. Когда пользователь просматривает сайт в браузере — сертификат обеспечивает зашифрованное соединение между веб-сервером и браузером, это можно заметить по значку закрытого замка или зеленой плашки в адресной строке и наличие префикса «https» перед доменом. Рекомендуется обязательно устанавливать SSL-сертификат всем интернет-магазинам, банкам, платежным системам и другим организациям, которые так или иначе работают с персональными данными, чтобы защитить транзакции и остановить несанкционированный доступ к информации.

На счёт того, имеют ли сайты с SSL-сертификатами преимущество в поисковой выдаче идёт много споров, но большинство склоняется к приоритету сайтов с https префиксом.

Если у вас уже имеется сертификат, можно переходить к настройке перенаправления с http://yousite.ru на https://yousite.ru автоматически. Способов решения данного вопроса очень много, мы разберём наиболее популярные из них.

Большинство настроек проводится в файле .htaccess в корне вашего сайта, но также можно обойтись и без него, если ваша система управления или хостинг поддерживает такой вариант.

Настройки редиректа на хостинге

Например, на хостинге beget в панели управления, в разделе «Сайты», можно нажать на шестеренку около нужного сайта и включить там «Редирект с HTTP на HTTPS».

Подробнее о редиректе через хостинг можете почитать на страницах помощи у вашего хостинг-провайдера или задав им вопрос в тех. поддержку.

Перенаправление с http на https через .htaccess

Переадресация страниц через 301 редирект необходима для того, чтобы посетители, которые обратились к сайту по HTTP, автоматически попадали на сайт с HTTPS протоколом, при этом, сайт не будет склеен поисковыми системами, если всё сделать правильно.

Для настроек необходимо в папке сайта открыть файл .htaccess и разместить в нём определенный код. Чаще всего его размещают в самом начале файле. Вот несколько примеров такого кода.

Первый вариант:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Бывает и так, что один из представленных кодов не срабатывает. Связано это с тем, что у каждого хостинга свои настройки, но один из этих вариантов точно подойдет для вашего хостинга.

Второй вариант:

RewriteEngine On

RewriteCond %{HTTPS} =off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Третий вариант:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Редирект через .htaccess на хостинге Reg.ru

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Редирект через .htaccess на хостинге Timeweb

SetEnvIf X-HTTPS 1 HTTPS
 
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Редирект через .htaccess на хостинге Beget

RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Редирект через .htaccess на хостинге Jino (Джино)

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

В системах управления сайтом (CMS) сделать перенаправление ещё проще. Достаточно изменить одну строчку.

Как сделать редирект с http на https в OpenCart

Нужно открыть файл config.php и прописать в нём:

define('HTTPS_SERVER', 'https://yoursite.ru/');

Перенаправление с http на https в WordPress

В папке с сайтом на WordPress найти и изменить в файле wp-config.php следующую строку (если её нет, добавить):

define('FORCE_SSL_ADMIN', true);

В основном, способы перенаправления для разных CMS написаны в их документации.

Простой пример перенаправления на HTTPS в PHP

Всё зависит от вашего кода, но в большинстве случаев достаточно разместить этот PHP код в начале и вы получите 301-редирект с HTTP на HTTPS с помощью PHP.

if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === "off") {
	$location = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
	header('HTTP/1.1 301 Moved Permanently');
	header('Location: ' . $location);
	exit;
}

Как сообщить поисковым системам о переходе на HTTPS

  • Убедиться, что ваш сайт доступен по HTTPS протоколу и при переходе на http://yoursite.ru происходит перенаправление.
  • Поменять все мета-теги «rel=canonical» в HTML-коде. Они должны указывать на ссылки с защищенным протоколом (https). В WordPress достаточно указать в настройках сайта домен с https протоколом.
  • В файлах robots.txt и sitemap.xml измените ссылки на старые страницы на ссылки с HTTPS.
  • В Яндекс.Вебмастере есть специальный раздел «Переезд сайта», в котором можно указать переезд на HTTPS протокол. (Ваш сайт -> Индексирование -> Переезд сайта).

На этом всё, теперь посетители переходя на ваш сайт через http://yoursite.ru будут автоматически перенаправлены на HTTPS://yoursite.ru. Если у вас возникли вопросы или вы знаете другие способы перенаправления, будем рады видеть это в комментариях к записи.

Просмотры: 110 Комментариев: 0
Комментарии к материалу (0)
Комментарии отсутствуют.
Автору будет очень приятно услышать ответ на этот пост.
Оставить комментарий

Ваш адрес email не будет опубликован.