1
Ваш ответ
Зарегистрируйтесь или войдите
Регистрация через 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. Выбирая защищенный протокол, владелец сайта заботится о безопасности пользовательских данных, и это может быть учтено в ранжировании».
Подготовка к переезду
- Внутри ресурса все абсолютные ссылки с полным адресом должны быть заменены на относительные (без указания протокола). Например, http://site-x.com/page-1/ меняем на site-x.com/page-1/ или /page-1/.
- В файле с директивами для поисковых краулеров robots.txt нужно переделать строку Host: сюда прописываем URL домена с новым Secure-протоколом: Host: https://site-x.com. Эту директиву Яндекс отменил в 2018 году, но некоторые сеошники продолжают прописывать ее до сих пор — мало ли что. Вдруг однажды поисковики передумают.
- Файлы robots.txt и sitemap.xml должны быть доступны по обоим протоколам и содержать ссылки с защищенным протоколом.
- Адреса http://site-x.com и https://site-x. com поисковый бот считает разными ресурсами. Пока он поймет, что по ним находится одинаковый контент, и объединит обе площадки в группу зеркал, вы потеряете время и позиции в выдаче. Поэтому, получив SSL-сертификат и оформив редирект всех страниц с http на https, нужно сообщить о нововведениях в консолях вебмастеров.
Переезд в Яндекс Вебмастере
- Обзаведитесь SSL-сертификатом (купите, или найдите бесплатный или самоподписанный) и настройте его.
- Добавьте сайт в Яндекс.Вебмастер, если вы еще этого не сделали.
- Перейдите на незащищенную версию, в разделе «Индексирование» → «Переезд сайта» отметьте галочкой пункт «Добавить HTTPS» и сохранить изменения.
- В течение 1–3 недель ждите уведомление о смене главного зеркала у старой версии. После окончательного переезда в Вебмастере все URL будут отдаваться под основным адресом https.
Переезд в Google Search Console
Тут все проще: открываем консоль вебмастера, нажимаем вкладку «Добавить ресурс», в правом окне вносим новый URL с защищенным протоколом, жмем «Продолжить», право собственности подтверждается автоматически, жмем «Готово». Осталось добавить ссылку на новую карту Sitemap, и сайт переехал. В панели должны остаться оба варианта URL: http и https.
А пока суть да дело, нужно настроить редирект. Сделать это можно разными способами.
Как настроить редирект с HTTP на HTTPS через ISPmanager на хостингах
ISPmanager — одна из самых популярных российских панелей управления хостингом и сайтами. Среди прочих опций здесь доступна настройка SSL-перенаправлений. Редирект настраивается за пару шагов:
- Заходим в раздел «Домены» → «WWW-домены».
- Выбираем кандидатуру для безопасного соединения и жмем кнопку «Изменить».
- Ставим галку напротив пунктов «Защищенное соединение (SSL)» и «Перенаправлять HTTP-запросы в HTTPS», жмем OK.
Переадресация с HTTP на HTTPS для семерки самых ходовых хостингов
Редирект без хостинга можно оформить на стороне браузера, используя HTML и JavaScript, но работать такая переадресация будет медленнее. Оформление редиректов на стороне сервера предпочтительнее, т. к. не тормозит скорость загрузки.
Рассмотрим, как настроить редирект с http на https на разных хостингах, изменяя код в файле .htaccess. Здесь команды задаются в модуле mod_rewrite двумя параметрами:
- RewriteCond — это условие, при котором должна выполняться директива RewriteRule.
- RewriteRule — непосредственно директива.
Для разных хостингов параметры прописываются по-разному. Кириллические домены в зоне .рф или .рус нужно перевести в формат Punycode (например, на сервисе Punycode converter).
Найти файл .htaccess можно двумя путями, предварительно разрешив отображение скрытых файлов:
- Через FTP: корневая папка домена → каталог public_html → .htaccess.
- На консоли управления хостингом через «Диспетчер файлов».
Скачайте файл для работы, добавьте туда нужные строчки кода, чтобы установить 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. Есть и другие бесплатные сервисы для быстрой проверки редиректов:
Отсутствие или некорректная настройка 301 редиректа с устаревшей записи домена http на обновленную https может негативно сказаться на ранжировании, т.к. поисковик будет воспринимать страницы с одинаковым контентом как дубли и понижать сайт в выдаче. ВыводРабота сайта по защищенному протоколу SSL — это не только забота о безопасности своего ресурса для пользователей, но и важный фактор ранжирования в поисковых системах. Корректная настройка постоянного 301 редиректа с http-адреса на безопасный протокол https позволяет избежать проблем в продвижении сайта и санкций поисковиков за дубли страниц. Пользователи также отдают предпочтение сайтам с защищенным соединением — никто не хочет утечки конфиденциальной информации. Увидев вместо иконки закрытого замка предупреждение «Не защищено», пользователь, скорее всего, предпочтет сайт конкурента, работающего по безопасному протоколу. Настраивать переадресацию можно разными способами, но предпочтительнее делать это на стороне сервера: или в панели управления хостинга, или, если там нет быстрой настройки, через файл .htaccess. В этом случае редирект не будет тормозить загрузку страниц. После настройки нужно проверить корректность работы переадресации, если все сделано правильно, то в отчете появится запись о 301 редиректе, а страницы будут отдавать код 200. Как сделать редиректы в .htaccess?В данной статье мы рассмотрим, какие редиректы и как можно сделать при помощи . (.*)\/$ /$1 [R=301,L] Редирект на новую страницу Более сложные примеры правил редиректов при помощи .htaccess Пример 1. Переадресация всего сайта с сохранением строки запроса Выполнится 302 редирект (по умолчанию) на поиск в Яндексе символов, введенных в адресную строку после названия Вашего сайта. Пример 2. Переадресация конкретной страницы В случае перехода на страницу http://site.ru/hello.html выполнится 301 редирект на поиск в Гугле фразы «bye». Пример 3. Переадресация конкретных файлов. «Временно» (по умолчанию действует 302 редирект) переадресовываем все запросы jpeg-картинок на какой-либо бесплатный хостинг RewriteEngine on RewriteRule (.*)\.jpg$ http://хостинг_для_картинок$1.jpg [L,R]
В первой строке мы указываем, что правило будет распространятся только на запрос файла Если у Вас возникнут трудности с настройкой данной редиректа обратиться в техническую поддержку нашего хостинга и наши сотрудники с радостью помогут Вам. 301 редирект сниппеты для .htaccess / likes 30 / блог студии Клондайк!Как показала практика даже программисты плохо понимают суть работы 301 редиректа, по сему пришлось написать стандартны снипет для .htaccess Я только вкратце опишу их, поскольку описал каждую строчку кода. Задача которые решает данный сниппет достаточно простые, но они собраны и отдебажены по мере возможности. Данный конфиг позволяет решить следующие задачи:
|