Редирект с 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 – в браузере при выводе ошибки он не сработает, но выполнится после клика на кнопку «Перейти на сайт . (небезопасно)».
How do you redirect HTTPS to HTTP?
How do you redirect HTTPS to HTTP?. That is, the opposite of what (seemingly) everyone teaches.
I have a server on HTTPS for which I paid an SSL certification for and a mirror for which I haven’t and keep around for just for emergencies so it doesn’t merit getting a certification for.
On my client’s desktops I have SOME shortcuts which point to http://production_server and https://production_server (both work). However, I know that if my production server goes down, then DNS forwarding kicks in and those clients which have «https» on their shortcut will be staring at https://mirror_server (which doesn’t work) and a big fat Internet Explorer 7 red screen of uneasyness for my company.
Unfortunately, I can’t just switch this around at the client level. These users are very computer illiterate: and are very likely to freak out from seeing HTTPS «insecurity» errors (especially the way Firefox 3 and Internet Explorer 7 handle it nowadays: FULL STOP, kind of thankfully, but not helping me here LOL).
It’s very easy to find Apache solutions for http->https redirection, but for the life of me I can’t do the opposite.
Sorry, you have been blocked
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
What can I do to resolve this?
You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.
Cloudflare Ray ID: 7a73c23f9e7f2dec • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare
Редирект с https на http

Если вы или кто то другой перевёл на https: один из сайтов, на виртуальном или VDS хостинге, то у всех остальных HTTP сайтов сразу возникает проблема — современные браузеры начинают открывать их не по протоколу http а по https.
А поисковик Google на вашем http сайте начинает, в первую очередь искать https страницы . и находит их на других сайтах, находящися на этом хостинге, и индексирует! ( подробнее здесь )
Иногда потребность в возврате с https на протокол http вызвана тем, что быстроробот Гугла в несколько раз реже заходит на «безопасный сайт», и не видит обновлений контента.
Как сделать редирект с https на http?
Решение 1
Делаем редирект на http с помощью .htaccess
Замечание Перечисленные ниже варианты предназначены для серверов Linux.
Пояснения для всех последующих вариантов Редактируем или создаём, если его нет, файл .htaccess в корневой папке вашего сайта, и добавляем сразу после
RewriteEngine On
один из нижеперечисленных вариантов, при этом не забыв изменить site.ru на URL вашего сайта.
Вариант 1
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Вариант 2
RewriteCond %
RewriteRule ^(.*)$ http://%
Вариант 5
RewriteCond %
RewriteRule ^.*$ http://%
Вариант 7
RewriteCond %
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Вариант 10
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Попробуем ещё вариант — вместо %
Вариант 12
RewriteCond %
RewriteRule ^.*$ http://%
Замечание Если не работает, то можно попробовать поместить, указанные выше строки, в выражение IfModule.
ВАЖНО При открытии сайта, Сначала браузер проводит проверку наличия SSL-сертификата и уже затем срабатывает редирект. Другими словами, если на сайте нет SSL-сертификата, то посетители сначала увидят предупреждение браузера о незащищённом контенте, и уже затем сработает редирект на http .
Замечание Обычно, при открытии сайта, Сначала браузер, как правило, открывает версию https сайта. Но это не точно. На самом деле, это зависит от настроек сервера и сайта. Если вебсервер отдаёт заголовок «Strict-Transport-Security» ( смотрим в настройках add_header Strict-Transport-Security ), тогда браузер будет открывать сайт по HTTPS протоколу. Дополнительно, этот заголовок появляется, если в настройках web-домена установлено: «Повышенная безопасность SSL»
Если Решение 1 не работает?
В частности этим грешат серверы и VDS с панелью ISP Manager 5 ( на других панелях управления, например cPanel, с Lunix на этом же сайте переадресация работает! )
Решение 2
Открываем и внимательно смотрим ваш сайт (для примера site.ru )именно по протоколу httpS
если он не ваш и отличаются и по внешнему виду и по контенту, то нужно выяснить его ( URL ). Обычно это один из https сайтов, расположенный на вашем IP адресе. Найти список сайтов на вашем IP можно стандартным сервисом «Сайты на одном IP»
Итак, — хорошо — вы узнали, какой это сайт ( назовём его, для удобства https-sait.ru )
И теперь все дальнейшие правки, как ни странно, будем вести не на проблемном сайте, а на найденном (https-sait.ru)!
Идея: поставить передресацию с https на http на найденном https сайте https-sait.ru
13 Решение: создаем в корне этого сайта в файле htaccess правила типа условное выражение такого вида:
#
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ http://www.sait.ru/$1 [R=301,L]
#
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ http://sait2.ru/$1 [R=301,L]
#
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ http://sait3.ru/$1 [R=301,L] # и так далее. для одного сайта sait.ru или всех остальных http сайтов (sait2.ru, sait3.ru) , которые есть на вашем хостинге.
Другими словами, для того, чтобы сделать редирект с https на http вашего сайта sait.ru, вам потребуется найти и открыть https-sait.ru, отредактировать там .htaccess файл, прописав правила аналогичные пункту 13 для каждого вашего сайта: sait 1, 2, 3.ru
Вот такие странности панели ISP Manager .
Почему это происходит?
Решение 3
Замечание Предлагаемое решение работает на серверах с NginX.
Если у вас сервер с nginx, тогда делаем переадресацию в его настройках
Указав, вместо ip — ваш реальный IP, вместо site.ru — URL вашего сайта и вместо # пути к сертификату — реальный путь. Сохраняем и перегружаем сервер
находим и удаляем там же строку
add_header Strict-Transport-Security «max-age=31536000;»;
Если что то не работает, перезагружаем nginx и смотрим ошибки, которые находятся в /var/log/nginx/error.log
Замечание Если нужно, чтобы сайт открывался как по http, так и по протоколу https, то вышеуказанные варианты приведут к зацикливанию .
Нужно же, чтобы сайт открывался как по http, так и по https. Если прописывать редирект в nginx на http
Некоторые, устав бороться с NginX, сносят его и ставят классический редирект