fbpx

Переадресация с одного домена на другой: как и зачем?

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

Актуальность переадресации

Существует две наиболее распространенных ситуации, когда целесообразно применять переадресацию:

1. Сайт доступен по адресам www.mysite.ua и mysite.ua. На первый взгляд это один и тот же ресурс, но поисковые машины определяют их как два совершенно разных сайта. В таком случае необходимо сделать так, чтобы при запросе к станицам с префиксом www пользователь попадал на такие же, только без него (либо наоборот). Пример: https://www.mysite.ua/bloghttps://mysite.ua/blog.

2. Ресурс существует под несколькими доменами, например:

  • основной — mysite.ua;
  • альтернативный — my-site.ua;
  • кириллическая версия — мойсайт.укр.

Независимо от набора любой из вышеперечисленных версий пользователя необходимо перенаправлять на один из указанных вариантов. Пример: ввод https://www.mysite.ua, https://my-site.ua — переадресация на https://мойсайт.укр.

Варианты редиректа

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

301-редирект с помощью .htaccess

Файл настройки расположен в корневой папке www, для необходимых изменений необходимо указать следующий код (если на вашем сервере включен модуль mod_rewrite):

  • С www-домена на основной домен

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  • С основного домена на www-домен

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  • С одного домена на другой

Решение может быть аналогично первому варианту, например, для перенаправления с одного доменного имени domain1.ua на второй domain2.ua. Для этого указываете следующий код:

RewriteEngine On
RewriteCond %{HTTP_HOST} domain1.ua
RewriteRule (.*) http://domain2.ua/$1 [R=301,L]

  • Перенаправление с нескольких доменов

Если стоит задача сделать переадресацию с доменов domain1.ua и www.domain1.ua на новый домен domain2.ua:

RewriteCond %{HTTP_HOST} ^domain1\.ua
RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.domain1\.ua
RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L]

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

301-редирект с помощью панели управления хостинга

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

1. В боковой панели нажмите на пункт WWW, откроется выпадающий список, выберите подпункт WWW-домены. Выберите из списка необходимый домен, затем нажмите в верхнем контекстом меню «Редиректы».

2. На следующей странице вы можете создавать новые редиректы, либо редактировать уже созданные.

3. Следующим шагом будет определение способа перенаправления. В административной панели предусмотрено три таких способа:

301 редирект (Moved Permanently)— постоянное перенаправление. Сообщает поисковым машинам, что страница переехала на новый адрес навсегда, что позволит вам не потерять трафик. Оптимально для переезда домена с одного имени на другое.

302 редирект (Found) — временная переадресация. Отображает указанную вами страницу для пользователя, но для поисковиков прежний адрес останется индексируемым и активным.

303 редирект (See Other) — дословно переводится как «Смотри другое». Метод запроса для URL-адреса назначения всегда GET. Редирект 303 никогда не кэшируется. Используется очень редко.

Как перенаправить кириллические домены?

Алгоритм редиректа домена на кириллице такой же, как и домена на латинице. Кириллические домены называют еще IDN-доменами. Единственным нюансом является его конвертация методом Punycode с помощью сервиса Punycode конвертер.

Punycode — метод преобразования символов, относящихся к стандарту Unicode. Данный способ предусматривает отображение кириллических символов с помощью последовательности символов, содержащих только символы кодировки ASCII. Конкретно это 26 букв латинского алфавита (a-z), цифры (0-9) и символ дефиса. Общее количество используемых символов — 37.

Таким образом домен http://мойсайт.укр/ преобразуется в URL вида http://xn--80arbjktj.xn--j1amh/. Теперь мы можем указывать эту ссылку в административной панели или использовать в своем файле .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} http://xn--80arbjktj.xn--j1amh/
RewriteRule (.*) http://domain2.ua/$1 [R=301,L]