Редирект на HTTPS в htaccess: как настроить переадресацию с HTTP

Редирект на HTTPS в htaccess

Переехать из одного офиса в другой – сложно и долго, нужно собирать разные документы и вещи, а также как-то оповещать своих клиентов о новом адресе. Но что делать с веб-ресурсом? Иногда компании нуждаются в «переезде» сайта. Тогда работа предстоит не меньшая – перевод страниц, целых разделов, а также работа с пользователями. И вручную делать все это очень неудобно. Поэтому есть специальные программы и алгоритмы для автоматизации процесса. Расскажем, как сделать и настроить автоматическую переадресацию с http на https через htaccess в короткие сроки.

“Студия 17” занимается не только разработкой, но и оказывает оперативную и качественную техническую поддержку проектов. Если вы всё таки решили попробовали настроить переезд сайта на безопасный протокол самостоятельно, то специалисты “Студии 17” рекомендуют:

  1. Сделать резервную копию всего сайта.
  2. Сохранить старую версию файла htaccess.

Два этих пункта впоследствии помогут восстановить сайт при неправильной настройке регулярного выражения. 

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

Redirect 301: термин

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

 

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

 

Редирект 301 – это самый распространенный и удобный способ перенаправления наравне с кодом 302. Это ответ сервера. И он значит, что данный адрес прекратил свое существование, а все данные с него перешли на другой URL.

Задачи

В основном знания, как сделать настройку 301 редиректа с http на https через htaccess, необходимы для поискового продвижения ресурса. Дело в том, что перенос контента и доменного имени должен быть осуществлен корректно, тогда сайт не потеряет своего места в ТОПе поисковиков. 

 

В основном процедура применяется в следующих случаях:

  • Создание нового интернет-магазина, корпоративного портала или лендинга. 
  • Для начала использования защитного сертификата безопасности SSL (по сути это самый основной перевод с добавлением одной, казалось бы, незначительной буквы s).
  • Изменение URL. Часто это вынужденные меры, принятые из-за SEO-оптимизации. Для продвижения очень важно, чтобы все урлы (единые указатели ресурса) были читаемыми. То есть вместо набора символов – название раздела в транскрипции.
  • Использование поддоменов (субдоменов), то есть доменного имени меньшего уровня.
  • Сбор трафика, идущего с одинаковых адресов, но с разными доменными зонами, то есть с окончаниями ru, com, net, org и т.д. Все они перенаправляются на единый ресурс.
  • Удобный способ перекинуть пользователей, которые заходят не с компьютера, а с других устройств, на мобильную версию с определенной адаптацией.
  • Перенос данных с сайта с WWW на тот, который привычных трех W не имеет. Или их «склейка», чтобы не происходила потеря ссылочной массы и дублирования запросов. 

Как установить и настроить 301 редирект с http на https: способы

Есть несколько популярных вариантов:

  • Использование плагинов WordPress и в других системах управления.
  • Изменение текста в файле PHP в браузере. Понадобится вписать дополнительный скрипт, чтобы при запросе открывалась не один веб-ресурс, а другой.
  • Внесение дополнительного тега в HTML заголовок. Это подходит, когда нужно перенаправить не целый сайт, а только одну страницу.
  • Применение JavaScript, который должен быть установлен на браузере. Это достаточно медленный переход. Юзер сперва видит то, откуда он уходит, а затем появляется следующий раздел.
  • Redirect http to https через файл htaccess. Удобный способ, которым можно воспользоваться с помощью админки хостинга.

Вам решать, какой из вариантов наиболее подходит.

Использование .htaccess

Данным расширением обладают файлы на серверах Apache. Он отвечает за возможность настраивать некоторые параметры, а также за корректное отображение URL. Есть три директивы, которые могут работать с данным объектом, но сперва необходимо найти его месторасположение. Дадим пошаговый алгоритм.

Предварительная подготовка

Надо зайти в админку и перейти в корневой каталог. Здесь должен быть вышеупомянутый файл. Если его нет – создайте. Введите команду RewriteEngine On. Практически все хостинги работают по протоколу 301, 302 или другое трехзначное число, которое начинается с тройки.

 

После этого есть несколько вариантов, как сделать перенаправление с http на https через htaccess.

Склейка зеркал

Использование WWW в адресной строке является факультативным. По сути, как бы не ввел пользователь адрес, он попадет на один и тот же ресурс. Однако, поисковая система классифицирует эти два сайта (с WWW и без) как разные, но дублирующие друг друга по контенту. Дубли, неуникальные тексты – все это плохо индексируется как «Яндексом», так и Google, поэтому скорее всего приведет к потере трафика. Чтобы успешно проводить СЕО-продвижение, предлагается склеить эти два URL с помощью 301 редиректа. Для этого снова обращаемся к корневому файлу с расширением htaccess. Чтобы склейка произошла с аккумуляцией на сайт, начинающийся с трех W (или без них), в код необходимо прописать:

склейка зеркал

или

склейка зеркал в файле

Переход на сайт с SSL-сертификатом безопасности 

В этом случае протокол защиты определяется с помощью суффикса s в адресной строке. Здесь есть также несколько доступных вариаций.

Если сделать необходимо редирект всего веб-ресурса

Здесь есть три возможности: сработать через RewriteCond https on, server port 443 или http x forwarded proto, при этом в строке RewriteRule будет прописано:

  • %{SERVER_NAME}%{REQUEST_URI} [R=301,L]; %{HTTP_HOST}%{REQUEST_URI} [QSA,L];
  • %{HTTP_HOST}%{REQUEST_URI} [L,R=301], соответственно.

Какой из данных способов сработает, понятно только по результатам. В идеале вы получите полную переадресацию всех кликов с сохранением значений SEO-оптимизации.

Таким образом, у нас есть такие виды команд:

виды команд

Когда требуется постраничное перенаправление

Если необходимо весь сайт перекинуть, а несколько страниц оставить, то для каждого невключаемого в общую пересылку раздела понадобится прописывать команды в файле. RewriteEngine оставляем включенным. Директиву RewriteCond для https отключаем. Запрашиваемый URL передаем строкой !^/page.php, а в RewriteRule прописываем то же, что и при переводе через HTTP:X-Forwarded-Proto.

постраничное перенаправление

Редирект одной странички

Часто такие переадресации бывают на одном ресурсе, например, когда есть битые ссылки или нечаянно получившиеся дубли. Иногда это делается под разные ключевые запросы, когда суть разных терминов единая и должна вывести на одну услугу/товар. В таком случае набор команд будет точно такой же, как и рассмотренный в предыдущем разделе статьи, но с одним нюансом. В запрашиваемом урле RewriteCond %{REQUEST_URI}мы прописываем =/page.php.

редирект одной страницы

Что настраивать, когда нужно перейти с защищенного протокола

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

 

Ниже несколько вариантов команд, при этом учитываем, что в строке site.ru необходимо подставить URL ваших страниц.

 варианты команд

варинты команд 2

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

Изменение доменного имени

Здесь важной целью является сохранение всех настроек оптимизации и достижений SEO, а также – не растерять всех пользователей, которые привыкли к старому адресу. В таком случае подойдет такая команда:

изменение доменного имени

Переход на страницу с другим адресом без параметров

Так называют набор символов, который находится в хвосте URL, начинается после знака «?», а заканчивается #. Когда этого окончания нет, то команда выглядит следующим образом:

 переход без параметров

С переменной

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

с переменной

Со стартового файла index.php

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

в файле index.php

Убираем слеш в конце адресной строки

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

С точки зрения практики, абсолютно все равно, будет ли стоять «/», но для сеошников это важно. Ведь наличие двух аналогичных URL с разницей только в слеше приведет к дублю страницы. 

Еще одна причина – привычки синтаксиса программистов. Многие считают, что папку с документом нужно указывать без косой черты, а если речь про раздел каталога, например, то следует ее оставить. 

Поможет команда, чтобы убрать дублированные ссылки и оставить переход на одну из них:

убираем слеш

Переводим на URL со слешем в конце

Аналогичная процедура, только с обратным эффектом. Таким образом можно сделать переадресацию:

переводим url со слешем

Код 404

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

код 404

Как выглядит файл htaccess с SSLсертификатом

Произведя несколько редиректов внутри корневой папки, можно увидеть вот такую (или похожую) картину:

htaccess с SSL-сертификатом

Работаем с Nginx

Это веб-сервер, на котором работают около 30% сайтов во всем мире. У него мощный потенциал. И, конечно, в нем можно сделать 301 redirect. Для этого понадобится вносить изменения в nginx.config.

Отказываемся от трех W в начале

Без префикса домен короче, проще для запоминания. Некоторые сеошники считают, что такое доменное имя предпочтительнее, поскольку оно является вторым уровнем, а значит, это лучше сказывается на SEO. Но это не доказано. В любом случае, дубли не нужны, поэтому стоит внести переадресацию:

убираем от трех W в начале

Возвращаем WWW

Аналогичная процедура, но с оставлением привычного префикса:

Возвращаем WWW

Как перенаправлять http запросы в https в PHP

Этот скриптовый язык поддерживается большинством хостинг-провайдеров, поэтому данный алгоритм будет актуален:

  • Необходимо сохранить index.php на своем ПК.
  • Из предложенных нами выше кодов необходимо сгенерировать собственный согласно ситуации.
  • Полученную комбинацию следует добавить в файл, а его отправить на сервер.
  • В настройках сайта стоит прописать основной адрес.

Как работать в разных хостинговых панелях

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

Cpanel

редирект cpanel

 

Процедура делается в 4 шага:

  • Type – permanent.
  • Https://www – прописываем доменное имя своего ресурса.
  • Redirects to – пишем полный адрес сайта.
  • www.redirection – отметка возле redirect with or without www.

Готово, подтверждайте изменения.

ISPmanager 

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

панель ISPmanager 

Для разных CMS

Используя ту или иную систему управление контентом, можно достаточно просто производить переадресацию. Кратко пройдемся по известным админкам и алгоритмам действий для редиректа на них.

WordPress

Это очень распространенная программа, поэтому на нее сделали массу плагинов, можно воспользоваться любым из них – платным или бесплатным. Обычно достаточно двух простых действий:

  • скачать и установить надстройку.
  • вводить данные в два поля – откуда и куда будет происходить перенаправление.

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

OpenCart

Опять находим корневой файл с расширением .htaccess. Работа с ним будет проходить так:

opencart настройка

Битрикс

Снова заходим в тот же документ. В нем прописываем:

настройка битрикс

Joomla

Этот конструктор сайтов предполагает наличие встроенной программы для перенаправления. Так следует найти соответствующий раздел в «Компонентах». А в появившиеся строки вбивать парные адреса – откуда и куда будет перекидывать юзера при использовании CMS. Выглядит это так:

редирект joomla

MODX

Плагин Redirector позволяет производить адресацию с такой же простотой, как и на WP. Снова понадобится только вручную вводить два URL.

Автоматизация генерирования кода

Кодирование – достаточно сложный процесс, далеко не все администраторы веб-ресурса в силах с этим справиться. Тогда можно пойти двумя путями. Или воспользоваться услугами технической поддержки компании, обслуживающей CMS, или применить онлайн-генераторы. Это бесплатные программы в интернете, которые помогают создать код. К примеру, можно пойти сюда – https://www.searchenginegenie.com/301-redirect-code-generator-tool.php.

Создания циклов редиректа

Иногда случается  неприятная ситуация – возникновение цепочки пересылок. Так со страницы А пользователь попадает на В, а с нее автоматически на С и так далее. Это возникает или по вине специалиста, который некорректно ввел код, или из-за вирусного ПО. Скорее всего в таком случае будет выпадать ошибка:

404 ошибка

Как понять, что перенаправление работает исправно

Подойдет классическое тестирование. Например, вбейте «www.домен.ru», а открывшийся ресурс должен иметь URL «домен.ru». Если такой достоверности недостаточно, можно воспользоваться сервисами проверки, например, этим – https://www.websiteplanet.com/ru/webtools/redirected/. 

Заключение

Мы рассказали, как сделать и проверить редирект с http (на русской раскладке – ррезы) на https. Это необходимая процедура, но следует подходить к ней осторожно, чтобы не вызвать ошибку в работе ресурса.


Похожие статьи

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

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