Редирект с HTTPS на HTTP
К примеру, сайт работал продолжительное время на протоколе HTTPS, закончился сертификат, а продлить его нет возможности. Придётся возвращаться на HTTP.
В данной ситуации возникает проблема – сайт уже проиндексирован и все ссылки с поисковиков ведут на https:// и при переходе не сайт возникают ошибки:
NET::ERR_CERT_DATE_INVALID – сертификат просрочен, но есть возможность перейти на сайт нажав «Дополнительные» – «Перейти на сайт. ».
ERR_SSL_VERSION_OR_CIPHER_MISMATCH – возникает если сертификат удалён или отключено «Защищенное HTTPS-соединение» на хостинге, возможности перейти на сайт нет.
В данной ситуации можно сделать:
1. Сменить основное зеркало в Яндекс.Вебмастере и Google Search Console (переиндексация сайта займет время). 2. Сделать редирект с HTTPS на HTTP в файле .htaccess – в браузере при выводе ошибки он не сработает, но выполнится после клика на кнопку «Перейти на сайт . (небезопасно)».
RewriteEngine On RewriteCond % 443 [OR] RewriteCond % =on [OR] RewriteCond % =on [OR] RewriteCond % =https RewriteRule ^(.*)$ http://%/$1 [R=301,L]
Помощь
Чтобы настроить перенаправление с http на https при обращении к сайту, нужно написать в конфигурационном файле веб-сервера определенное правило.
Apache
Откройте файл .htaccess для редактирования и допишите в него следующий блок:
RewriteEngine On RewriteCond % ^80$ [OR] RewriteCond % =on RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
Для перенаправления с https на http допишите блок:
RewriteEngine On RewriteCond % ^443$ [OR] RewriteCond % =on RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
Nginx
Откройте конфигурационный файл веб-сервера Nginx для редактирования.
Если вы производите настройки перенаправления первый раз, то создайте в этом файле следующие секции:
server < listen IP-адрес_сервера:80; server_name www.mydomain.com; rewrite ^ https://www.mydomain.com$request_uri? permanent; >server
Первая служит для открытия сайта по http (80 порт) и непосредственно перенаправления, вторая — для открытия по https (443 порт), основная секция домена.
Если основная секция домена уже создана, то удалите из нее строку
listen IIP-адрес_сервера:80;
и добавьте новую секцию:
server < listen IP-адрес_сервера:80; server_name www.mydomain.com; rewrite ^ https://www.mydomain.com$request_uri? permanent; >
В случае настройки перехода с https на http добавьте секции:
server < listen 443; server_name www.mydomain.com; rewrite ^ http://www.mydomain.com$request_uri? permanent; >server
Если вторая секция (с основными настройками домена) существует, то внесите в нее изменения, добавив две указанные выше строки.
Выполните перезагрузку веб-сервера Nginx командой:
nginx -t && nginx -s reload
Как перейти c http на https — пошаговая инструкция.
В статье «Нужен ли ssl сертификат для интернет магазина» мы говорили о том, что GOOGLE ранжирует защищенные сайты с SSL выше остальных. Помимо этого, с 2017 года GOOGLE будет по умолчанию отмечать сайты без https как небезопасные. Это значит, что пользователи, зашедшие на ваш сайт, будут видеть соответствующее уведомление. Мало шансов, что на таком сайте задержатся пользователи. Но в этой статье мы не будем говорить о том, чем грозит отсутствие SSL. Мы коротко опишем план того, что нужно сделать и в какой последовательности.
Приобретение сертификата
Чтобы перевести сайт с http на https, нужно сначала приобрести сертификат. Если ваш сайт не является интернет-магазином или сервисом по приему платежей, вы можете остановиться на сертификате от Comodo — Comodo PositiveSSL. У него приемлемая цена и он выполняет основную функцию SSL на пять с плюсом. Если вам необходим сертификат, поддерживающий поддомены/множество доменов и поддоменов, или читаемый редкими версиями браузеров, то следует выбрать более продвинутую версию сертификата. Со списком всех предоставляемых нами сертификатов вы можете ознакомиться на странице: SSL сертификаты для сайта. Оформить заказ на сертификат можно через личный кабинет. После оформления заказа требуется заполнить анкету в разделе Заказать—Неоплаченные заказы. В анкете нужно указать домен, метод проверки владения доменом и основные данные администратора домена. Эти данные заполняются до активации заказа.
Выпуск сертификата
После активации заказа на контактную почту будет отправлено письмо с инструкцией для подтверждения выпуска сертификата. Приобретенный в личном кабинете сертификат появится в разделе Управление—Сертификаты. В данном разделе можно отследить статус выпуска и скачать файлы готового сертификата (сертификат, цепочку и ключ).
Настройка внутренних ссылок
Зачастую в файлах или базе ссылки на объекты (картинки, css-файлы и тд) указаны с протоколом. Если в ссылке указан протокол http, то при обращении к сайту по https данные объекты не подгружаются, а в режиме разработчика браузера (F12) можно увидеть ошибки Смешанного контента. Чтобы исправить эти ошибки, необходимо заменить протокол на https во всех ссылках в файлах и базе. Также можно вообще убрать протокол из ссылки, чтобы страница корректно открывалась как по https, так и по https. Например ссылки вида: заменить на: Для правки ссылок в базе можно выгрузить дамп базы через phpMyadmin, произвести замену ссылок в дампе, потом импортировать его в базу, предварительно очистив ее. Для некоторых популярных CMS (например, WordPress) разработаны специальные плагины, позволяющие произвести замену всех ссылок автоматически через административную панель.
Установка сертификата
Далее вам нужно произвести установку SSL-сертификата на хостинг или VDS/VPS-сервер. Если сайт расположен на shared-хостинге, для использования сертификата необходим выделенный IP. Приобрести его можно в разделе Управление—Сертификаты. Полученный адрес нужно указать в А-записи домена. После обновления записи сайт начнет открываться по https.
Настройка robots.txt и sitemap.xml
В robots.txt нужно заменить две директивы. Это «host» и «Sitemap».
В «host» нужно прописать https://hoster.ru/ (вместо hoster.ru указывайте адрес вашего сайта)
В «Sitemap» – https://hoster.ru/sitemap.xml
Переадресация
Чтобы при переходе из поисковика клиент попадал на защищенную страницу с протоколом https, необходимо настроить переадресацию всех страниц с http на https и обозначить для поисковых систем канонический домен с протоколом https. Для настройки редиректа добавьте в начало файла .htaccess следующие строки: RewriteEngine On
RewriteCond % !on
RewriteRule ^(.*)$ https://%/$1 [R=301,L] Для достижения второй цели необходимо на всех страницах установить тег:
В данном теге ссылку нужно указывать не относительную, а абсолютную. То есть с https://. Больше информации о теге можно найти здесь
Склейка
Далее необходимо добавить наш сайт заново в Яндекс.Webmaster и Google.Webmaster и установить сайт https:// как главное зеркало. После проделанных действий останется только ждать, когда поисковые системы заменят http на https и передадут все страницы сайта. На этом перенос сайта с http на https заканчивается. Теперь ваш сайт защищен. Если у вас возникнут вопросы по установке и настройке SSL на вашем сервере, обращайтесь в нашу техническую поддержку. Мы вам обязательно поможем.
Редирект с HTTP на HTTPS
Редирект (redirect) — автоматическое перенаправление с одной страницы на другую. Если установить 301 редирект с HTTP на HTTPS, то пользователи с адреса http://site.ru будут переадресованы на версию сайта, защищённую протоколом HTTPS: https://site.ru.
Перевести сайт на HTTPS можно двумя способами: в панели управления ISPmanager (если у вас есть хостинг 2domains) и через конфигурационный файл htaccess (Что такое htaccess?).
Редирект с HTTP на HTTPS можно настроить только в том случае, если для вашего домена установлен SSL-сертификат: Как установить SSL-сертификат.
Как настроить редирект с HTTP на HTTPS через панель управления ISPmanager на хостинге 2domains
Если у вас есть хостинг 2domains с панелью управления ISPmanager, воспользуйтесь этой инструкцией.
Перед тем как перейти к инструкции, убедитесь, что домен добавлен в панели управления: Как добавить домен в панели управления?
1. Перейдите в панель управления хостингом ISPmanager.
2. Перейдите в раздел «Сайты», дважды кликните по домену, с которого будет происходить перенаправление:
3. На открывшейся странице поставьте галочку Перенаправлять HTTP-запросы в HTTPS. Нажмите Ok, чтобы сохранить:
Готово! Мы рассмотрели, как перевести сайт с HTTP на HTTPS в панели управления ISPmanager.
Как настроить редирект с HTTP на HTTPS через htaccess
Редирект на HTTPS через htaccess можно настроить, добавив строки кода в файл htaccess.
Внимание! Если вы используете IDN-домен (например: сайт.рф), прописывайте его в формате Punycode. Для этого вы можете использовать Punycode-конвертер.
Добавьте в файл код из списка ниже (в зависимости от того, какой редирект нужен) и сохраните изменения. Примеры редиректов: