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

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Как сделать редирект с http на https через htaccess

Безопасность. Сегодня это базовое требование к сайту, поэтому SSL-сертификат, гарантирующий безопасное соединение, становится не просто хорошим тоном, а обязательным критерием работы и развития любого web-ресурса. Чтобы без потерь перейти на передачу данных по защищенному протоколу, нужно настроить редирект с http на https. Какими способами это сделать, мы объясним в этой статье.

Что такое редирект

Редирект — это перенаправление с нежелательного адреса на приоритетный. Настраивая автоматическую переадресацию, вы даете серверу команду отдавать по запросу одного URL другой — тот, который считаете более предпочтительным. Как работает принудительный редирект на https?

Человек в браузере кликает по ссылке на сайт X, но эта ссылка размещена еще в беззаботную эру http-протоколов, когда о SSL-сертификатах думали только параноики, а все данные передавались по открытым каналам. С тех пор сайт X перешел на защищенное соединение, а разработчики оформили редирект.

Браузер запрашивает у сервера документ по адресу http://site-x. com, но там прописана команда: вместо устаревшего http://site-x.com отдавать браузеру надежный https://site-x.com. Все это происходит моментально, поэтому пользователь, ничего не заметив, оказывается на правильной странице с защищенным протоколом. Теперь он может вводить свои личные данные, не беспокоясь, что их по дороге перехватят злоумышленники.

Для SEO важно правильно оформлять редиректы, чтобы сайт не упал в ранжировании на поиске, а все плюшки (ссылочная масса, трафик) с исходной страницы (донора) перешли на новую (акцептора). Подробно о разных вариантах переадресации мы писали в статье Узнайте какие бывают редиректы и в каких случаях их нужно настраивать.

Когда требуется редирект на Secure-протокол

Переадресация на безопасный протокол HyperText Transfer Protocol Secure (https) устанавливается после оформления SSL-сертификата.

SSL (Secure Sockets Layer) — криптографический протокол, который гарантирует защищенное соединение между пунктами А и Б — браузером пользователя и сервером, где располагается ваш сайт. Сигнал для пользователя, что вам не безразлична его безопасность и вы подключили SSL-сертификат, — это иконка закрытого замка и адрес, начинающийся с https://. Поисковики могут также предупреждать пользователей, что сайт, на который они хотят перейти, небезопасен. Это отпугивает потенциальных посетителей.

Наличие надежного безопасного соединения критично для интернет-магазинов, банков и всех порталов, имеющих дело с персональными данными своих посетителей. SSL создает условия для конфиденциальности и минимизирует риски перехвата паролей, логинов, информации о банковских карточках и т.д. Но это не значит, что простому информационнику или корпоративному сайту-визитке не нужен SSL-протокол: это весомый фактор ранжирования, и, если вы хотите вывести свою визитку в топ, сертификат, как ни крути, оформлять придется.

Google с 2014 года отдает приоритет сайтам с защищенным протоколом, Яндекс также учитывает этот фактор в распределении мест под солнцем.

Справка Яндекса: «Яндекс старается учитывать все относящиеся к качеству сайта данные, которыми обладает. Безопасность — важный атрибут качества для пользователя, а один из признаков безопасного сайта — использование протокола HTTPS. Выбирая защищенный протокол, владелец сайта заботится о безопасности пользовательских данных, и это может быть учтено в ранжировании».

Подготовка к переезду

  1. Внутри ресурса все абсолютные ссылки с полным адресом должны быть заменены на относительные (без указания протокола). Например, http://site-x.com/page-1/ меняем на site-x.com/page-1/ или /page-1/.
  2. В файле с директивами для поисковых краулеров robots.txt нужно переделать строку Host: сюда прописываем URL домена с новым Secure-протоколом: Host: https://site-x.com. Эту директиву Яндекс отменил в 2018 году, но некоторые сеошники продолжают прописывать ее до сих пор — мало ли что. Вдруг однажды поисковики передумают.
  3. Файлы robots.txt и sitemap.xml должны быть доступны по обоим протоколам и содержать ссылки с защищенным протоколом.
  4. Адреса http://site-x.com и https://site-x. com поисковый бот считает разными ресурсами. Пока он поймет, что по ним находится одинаковый контент, и объединит обе площадки в группу зеркал, вы потеряете время и позиции в выдаче. Поэтому, получив SSL-сертификат и оформив редирект всех страниц с http на https, нужно сообщить о нововведениях в консолях вебмастеров.

Переезд в Яндекс Вебмастере

  1. Обзаведитесь SSL-сертификатом (купите, или найдите бесплатный или самоподписанный) и настройте его.
  2. Добавьте сайт в Яндекс.Вебмастер, если вы еще этого не сделали.
  3. Перейдите на незащищенную версию, в разделе «Индексирование» → «Переезд сайта» отметьте галочкой пункт «Добавить HTTPS» и сохранить изменения.
  4. В течение 1–3 недель ждите уведомление о смене главного зеркала у старой версии. После окончательного переезда в Вебмастере все URL будут отдаваться под основным адресом https.

Переезд в Google Search Console

Тут все проще: открываем консоль вебмастера, нажимаем вкладку «Добавить ресурс», в правом окне вносим новый URL с защищенным протоколом, жмем «Продолжить», право собственности подтверждается автоматически, жмем «Готово». Осталось добавить ссылку на новую карту Sitemap, и сайт переехал. В панели должны остаться оба варианта URL: http и https.

А пока суть да дело, нужно настроить редирект. Сделать это можно разными способами.

Как настроить редирект с HTTP на HTTPS через ISPmanager на хостингах

ISPmanager — одна из самых популярных российских панелей управления хостингом и сайтами. Среди прочих опций здесь доступна настройка SSL-перенаправлений. Редирект настраивается за пару шагов:

  1. Заходим в раздел «Домены» → «WWW-домены».
  2. Выбираем кандидатуру для безопасного соединения и жмем кнопку «Изменить».
  3. Ставим галку напротив пунктов «Защищенное соединение (SSL)» и «Перенаправлять HTTP-запросы в HTTPS», жмем OK.

Переадресация с HTTP на HTTPS для семерки самых ходовых хостингов

Редирект без хостинга можно оформить на стороне браузера, используя HTML и JavaScript, но работать такая переадресация будет медленнее. Оформление редиректов на стороне сервера предпочтительнее, т. к. не тормозит скорость загрузки.

Рассмотрим, как настроить редирект с http на https на разных хостингах, изменяя код в файле .htaccess. Здесь команды задаются в модуле mod_rewrite двумя параметрами:

  • RewriteCond — это условие, при котором должна выполняться директива RewriteRule.
  • RewriteRule — непосредственно директива.

Для разных хостингов параметры прописываются по-разному. Кириллические домены в зоне .рф или .рус нужно перевести в формат Punycode (например, на сервисе Punycode converter).

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

  1. Через FTP: корневая папка домена → каталог public_html → .htaccess.
  2. На консоли управления хостингом через «Диспетчер файлов».

Скачайте файл для работы, добавьте туда нужные строчки кода, чтобы установить 301 редирект с http на https, и снова загрузите обновленный .htaccess.

Если вы нигде не нашли файл .htaccess, придется его создать и заполнить. (.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Подробнее здесь: Настройка сайта для работы по HTTPS.

jino.ru

RewriteEngine On # Если этой строки нет выше
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Подробнее здесь.

Синтаксис серверного редиректа на HTTPS

Единого синтаксиса для настройки серверного редиректа с http на https-протокол через htaccess нет, поэтому иногда приходится перебирать варианты, проверяя, насколько корректно отработает каждый из них. Если на вашем хостинге нет четких указаний по прописыванию директивы, предлагаем 8 вариантов синтаксических конструкций. Какая-нибудь из них да выстрелит.

RewriteCond

RewriteRule

1

%{HTTPS} =off

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

2

%{SERVER_PORT} !^443$

. /название_вашей_страницы.php

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

 

Внимание! Не забудьте вместо фразы «название_вашей_страницы» подставить нужные данные на латинице.

Проверка редиректа

После настройки редиректа с http на https нужно проверить, как он отрабатывается в разных поисковых системах. Самая поверхностная проверка: ввести в адресную строку браузера URL с протоколом http, если редирект сработает, то откроется сайт с правильным адресом https и значком закрытого замка. Но это еще не значит, что переадресация настроена корректно, поэтому рекомендуем более вдумчивую проверку с помощью онлайн-сервиса Redirect Checker.

Здесь можно проверить, не работает ли редирект с https на http как-то криво. Если все настроено без косяков, в результатах вы увидите надпись «301 Moved Permanently», если что-то пошло не так и вместо правильного 301 отрабатывается циклический 302 редирект, сервис сообщит об ошибке. Это значит, что надо подбирать другие строчки кода, пока все не получится.

При проверке нашего сайта сервис ошибок не нашел

Для проверки переадресации в разных поисковых системах выберите нужную из выпадающего списка Sel User-Agent.

Есть и другие бесплатные сервисы для быстрой проверки редиректов:

  • Tools.otzyvmarketing.ru/proverka_redirekta — выдает отчет с расширенной информацией:
  • prcy-info.ru/index.php/redirect-checker,
  • seogift.ru/tools/proverka-perenapravlenij-sajta/ — инструмент показывает цепочки редиректов и позволяет проводить массовую проверку URL:

Отсутствие или некорректная настройка 301 редиректа с устаревшей записи домена http на обновленную https может негативно сказаться на ранжировании, т.к. поисковик будет воспринимать страницы с одинаковым контентом как дубли и понижать сайт в выдаче.

Вывод

Работа сайта по защищенному протоколу SSL — это не только забота о безопасности своего ресурса для пользователей, но и важный фактор ранжирования в поисковых системах. Корректная настройка постоянного 301 редиректа с http-адреса на безопасный протокол https позволяет избежать проблем в продвижении сайта и санкций поисковиков за дубли страниц. Пользователи также отдают предпочтение сайтам с защищенным соединением — никто не хочет утечки конфиденциальной информации.

Увидев вместо иконки закрытого замка предупреждение «Не защищено», пользователь, скорее всего, предпочтет сайт конкурента, работающего по безопасному протоколу.

Настраивать переадресацию можно разными способами, но предпочтительнее делать это на стороне сервера: или в панели управления хостинга, или, если там нет быстрой настройки, через файл .htaccess. В этом случае редирект не будет тормозить загрузку страниц.

После настройки нужно проверить корректность работы переадресации, если все сделано правильно, то в отчете появится запись о 301 редиректе, а страницы будут отдавать код 200.

Как исправить проблему перенаправления HTTP и HTTPS

Если вы планируете использовать его для своего сайта, вы можете следовать этим советам и инструкциям.

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

Что означает «Ошибка перенаправления HTTP и HTTPS»?

URL-адреса, использующие протокол HTTP, которые перенаправляют на HTTPS, часто приводят к ошибкам перенаправления. Начнем с того, что HTTP или протокол передачи гипертекста используется в качестве основы для обмена данными во всемирной паутине. Это клиент-серверный протокол, поэтому получатель или браузер делает запросы. HTTPS, с другой стороны, является защищенной версией протокола передачи гипертекста. Это расширение протокола передачи гипертекста с шифрованием SSL.

Это означает, что миграция с HTTP на HTTPS приводит к ошибкам в защите данных и сбою перенаправления. Как правило, это может произойти по многим причинам, но все они приведут к тому, что пользователи не смогут получить доступ к сайту.

Что вызывает эту проблему?

Проблемы с перенаправлением HTTP на HTTP могут быть вызваны следующими причинами:

  • Неполный перенос или смена доменного сайта на HTTPS
  • Не обновлять URL-адреса
  • Использование сертификатов SSL с истекшим сроком действия
  • Веб-хост не поддерживает сертификат SSL
  • Не создавать резервную копию веб-сайта перед преобразованием его в HTTPS
  • Сервер отказывается устанавливать зашифрованное соединение SSL

Анализируйте не только перенаправление с HTTP на HTTPS, но и весь сайт!

Проведите полный аудит, чтобы выяснить и исправить ваше техническое SEO, чтобы улучшить результаты поисковой выдачи.

Как проверить проблему

После успешного преобразования HTTP в HTTPS сайт протокола передачи гипертекста будет автоматически перенаправлен на
Безопасный протокол передачи гипертекста. Прежде всего, чтобы проверить, есть ли проблемы, вы можете протестировать и проверить URL-адреса самостоятельно. Предупреждения индекса появляются при возникновении проблем. Выполните следующие простые шаги:

  1. Откройте браузер с помощью хост-компьютера.
  2. Введите указанный вами URL-адрес для перенаправления, которое вы хотите проверить.
  3. Убедитесь, что веб-страница открывается в браузере.
  4. Повторите этот процесс для каждого URL-адреса, который вы хотите перенаправить на HTTPS.

Почему это важно?

Поисковые системы обращают внимание на безопасность веб-сайта и запрашивают использование защищенного протокола Hypertext Transfer Protocol Secure. Веб-сайт, основанный на протоколах HTTP и HTTPS, рассматривается поисковыми системами как два отдельных веб-сайта. Например, HTTP-домен WordPress полностью отличается от HTTPS, но обычно они содержат одно и то же содержимое.

Хорошей практикой является установка 301 переадресации со всех версий страниц протокола передачи гипертекста на идентичные страницы версии HTTPS. Это помогает избежать дублирования контента и негативного пользовательского опыта.

Как решить проблему

Если установлена ​​безопасная версия веб-сайта по протоколу передачи гипертекста, необходимо добавить параметр для автоматической переадресации. Для устранения возникших проблем разные хостинги могут применять разные варианты. Тем не менее, при генерации опции необходимо выяснить, какой сервер используется, так как серверы играют значительную роль в перенаправлении.

Обычно используются Apache или Nginx. Прочтите руководство перед началом миграции с HTTP на HTTPS.

Ирина Крутько

SEO-специалист

Ирина — SEO-эксперт Sitechecker. Она отвечает за категории веб-хостинга и обзоры. Одержим созданием ценного контента и аналитики.

Фейсбук Линкедин

apache 2.

2 — Как перенаправить с HTTPS на HTTP до ошибки сервера?

Задавать вопрос

спросил

Изменено 2 года, 4 месяца назад

Просмотрено 42к раз

Раньше я управлял веб-сайтом с SSL-сертификатом, но перестал использовать SSL-сертификат. Проблема в том, что большинство внешних ссылок на сайт используют префикс https://. 9(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}

Но похоже, как было указано в другом месте, что сервер пытается получить сертификат перед активацией перенаправления. Следовательно, ошибка отображается до того, как перенаправление будет выполнено. Ошибка либо предупреждение о том, что срок действия сертификата истек, либо если я удаляю запрос на подпись сертификата, то ошибка о том, что SSL получил запись, превышающую максимально допустимую длину.

Есть ли способ разрешить правильное перенаправление входящих ссылок?

  • apache-2.2
  • веб-сервер
  • .htaccess
  • http
  • https

3

Разница между http и https заключается в том, что HTTPS-запросы отправляются через соединение с шифрованием SSL. Соединение с шифрованием SSL должно быть установлено между браузером и сервером до того, как браузер отправит HTTP-запрос.

Запросы HTTPS на самом деле являются запросами HTTP, которые отправляются через зашифрованное соединение SSL. Если сервер откажется установить зашифрованное соединение ssl, у браузера не будет соединения для отправки запроса. Браузер и сервер не смогут общаться друг с другом. Браузер не сможет отправить URL-адрес, к которому он хочет получить доступ, и сервер не сможет ответить перенаправлением на другой URL-адрес.

Значит, это невозможно. Если вы хотите отвечать на https-ссылки, вам нужен ssl-сертификат.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *