Как настроить редирект

Редирект – это перенаправление пользователя с одного URL на другой. Правильно выполненный редирект сохраняет ссылочный вес страницы, с которой перенаправляют, и передает его странице, на которую перенаправляют.

Цели редиректов:

  • Перенаправление с http на https.
  • Перенаправление с URL с www на URL без www и наоборот.
  • Перенаправление сайта со старого домена на новый или на поддомен.
  • Перенаправление трафика с одной страницы сайта на другую.
  • Перенаправление пользователей на мобильную версию сайта.
  • Изменение структуры сайта

Все реализации редиректов можно разделить на 2 группы:

  1. Серверные (Настройки редиректа с помощью панели управления хостингом; Настройки редиректа с помощью файла .htaccess; использовать плагинов для CMS), которые происходят вне девайса пользователя.
  2. Браузерные, которые происходят непосредственно на устройстве.

Рассмотрим каждую из них подробнее:

Переадресация серверного типа

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

Настройки редиректа с помощью файла .htaccess — это более точный способ с заметно более широким функционалом. Это переадресация работает очень быстро и практически незаметна для пользователя. Файл .htaccess существует только у сайтов под управлением веб-сервера Apache. Если ваш сайт работает не под Apache, а под Ngnix, то надо искать основной файл конфигурации для всех доменов на сервере — ngnix.conf или отдельный файлы для отдельных доменов. Синтаксис переадресаций для Ngnix отличается от синтаксиса в .htaccess.

Второй вариант серверной переадресации – использовать специальные плагины для CMS.

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

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

HTML-редирект или meta-refresh – браузерный тип переадресации в виде метатега, в котором указывается время задержки и страница. У данного метода плохая репутация среди поисковых систем, так как этот метод довольно часто использовался для спама.

Rel=«canonical», строго говоря, это не переадресация, а атрибут для поисковых систем. Но суть примерно похожа. Данный тег сообщает поисковым системам, что страница, на которой он находится, вторична по отношению к аналогичной, но расположенной по другому адресу.

Как сделать редирект?

Рассмотрим несколько способов по настройке редиректов:

1) редирект при помощи хостинга панели;

2) редирект через .htaccess;

3) редирект через плагины;

Редирект при помощи хостинга

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

  1. Чтобы сделать редирект через панель управления веб-хостингом, необходимо отыскать категорию домены, раздел перенаправление.
  2. Далее можно увидеть следующую форму:
  3. В первом поле необходимо выбрать пункт «Постоянное (301)».
  4. Во втором поле необходимо выбрать домен сайта, с которого будет вестись редирект
  5. Следующее поле необходимо, если перенаправление ведётся с конкретной страницы. В него записывается оставшаяся часть адреса страницы, то есть,  если URL страницы: https://silverweb.by/nastrojka-redirektov, то в данное поле необходимо вписать nastrojka-redirektov.
  6. В текстовом поле «Перенаправление» введите URL-адрес, на который вы хотите перенаправить пользователей.
  7. Поле «перенаправление www.» отвечает за следующие условия перенаправления:
    • Перенаправление только с www. — перенаправляет только посетителей, которые заходят на сайт www. префикс перед частью доменного имени URL-адреса.
    • Перенаправление с префиксом www. или без него — Эта настройка перенаправляет всех пользователей, вне зависимости от того, входит ли посетитель на страницу www. префикс перед частью доменного имени URL-адреса.
    • Не перенаправлять ссылки www. — Этот параметр не перенаправляет пользователей, которые заходят на страницу www. префикс перед частью доменного имени URL.

    Примечание: Если вы выбрали **Все общедоступные домены**, данное поле отключается.

  8. «Подстановочное перенаправление» отмечается лишь в том случае, если изменяется домен, но все URL сохранят свой вид. Например, был сайт https://silverweb-example.by, на котором была страница
    https://silverweb-example.by/nastrojka-redirektov. Если этот пункт отмечен, то редирект с https://silverweb-example.by на https://silverweb.by, так же сделает редирект c https://silverweb-example.by/nastrojka-redirektov на https://silverweb.by/nastrojka-redirektov.

Редирект при помощи .htaccess

Первое, что необходимо – получить доступ к самому файлу .htaccess. Доступ можно получить через панели управления хостингом (категория файлы, раздел менеджер файлов)

или через FTP-клиент. Данный файл расположен в корневом каталоге и если искать его через хостинг, то необходимо включить отображение скрытых файлов:

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

Для настройки самого простого редиректа существует простая “формула”, которую надо добавить в самый конец файла: Redirect 301 URL_LOCAL URL_REDIRECT, где вместо URL_LOCAL впишите адрес с которого ведётся редирект, а вместо URL_REDIRECT впишите адрес на который ведётся редирект. Для URL_LOCAL адрес должен быть записан без домена, то есть для данной стати – это “/nastrojka-redirektov”, а для главной страницы – “/”. Для URL_REDIRECT такое правило действует если идёт редирект внутри сайта, в случае редиректа на другой сайт, можно вписывать полноценную ссылку.

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

RewriteEngine On
RewriteRule ^ваш-адрес-на-латинеце$ [R=301, L]

Если файл .htaccess уже содержит записи, проверьте из на наличие “RewriteEngine On” и при наличии оной впишите лишь RewriteRule в конце файла.

Далее будет представлен отрывок кода для:

  • редиректа с http на https;
  • редиректа с www на без www;
  • редирект URL к нижнему регистру
  • добавлением значка “/” на конце URL, если его там нет.

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

#RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} ^(.*?)\/{2,}(.*?)$
RewriteRule . %1/%2 [L,R=301]
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]
RewriteCond %{REQUEST_URI} !\.\w{2,4}$
RewriteCond expr "tolower(%{REQUEST_URI}) =~ /(.*)/"
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule [A-Z] https://sitename.by%1/ [R=301,L]
RewriteCond %{REQUEST_URI} !\.\w{2,4}$
RewriteCond expr "tolower(%{REQUEST_URI}) =~ /(.*)/"
RewriteRule [A-Z] https://sitename.by%1 [R=301,L]
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ https://sitename.by/$1/ [R=301,L]
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://sitename.by/$1 [R=301,L]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ https://sitename.by/$1/ [L,R=301]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://sitename.by/$1 [L,R=301]

Редирект при помощи плагина

Существует большое количество CMS и для каждой из них есть минимум несколько плагинов (если не больше десятка), при помощи которых можно настроить редирект на сайте. Самое важное, что необходимо знать, это то, что принцип их работы схож с редиректом из панели управления хостингом и опираясь на вышеописанный алгоритм действий вы сможете достичь точно такого же результата.