Переадресация домена, или forwarding, — это автоматический переход посетителя с одного адреса на другой. Эта простая на вид функция нужна во множестве ситуаций: при смене названия компании, покупке короткого домена для рекламы или переезде старого сайта на новый. Однако видов переадресации несколько, и неудачно выбранный тип может стоить позиций в поиске, вызвать предупреждения безопасности или сломать страницу на мобильных устройствах. Разберём каждый тип, уместные случаи для него и практическую настройку.
Переадресация — задача веб-сервера, а не DNS
Многие считают переадресацию настройкой DNS, но DNS лишь сообщает, какому IP-адресу принадлежит домен, и не умеет говорить браузеру «перейдите на другую страницу». Настоящий редирект выполняет веб-сервер: браузер отправляет запрос, а сервер возвращает специальный HTTP-код и заголовок Location с новым адресом. Значит, перенаправляемый домен тоже должен быть подключён к какому-то серверу. Кнопка «forwarding» в панели регистратора или хостинга на самом деле создаёт в фоне именно такое серверное правило.
Виды переадресации в одной таблице
| Тип | Значение | Когда применять |
|---|---|---|
| 301 | Постоянный переезд | Ребрендинг, смена домена, склейка www и HTTPS |
| 302 | Временный переезд | Короткая акция, другая страница на время техработ |
| 307 | Временный, метод запроса сохраняется | Формы и API, когда POST не должен превращаться в GET |
| 308 | Постоянный, метод запроса сохраняется | Постоянный перенос адреса API |
| Маскированный | Адресная строка не меняется, страница открывается во фрейме | Крайне редко, не рекомендуется |
301: постоянный редирект и позиции в поиске
Код 301 сообщает браузеру и поисковым системам, что старый адрес окончательно заменён новым. Со временем поисковики переносят страницы в индексе на новый адрес, туда же переходит и вес внешних ссылок. Например, если частная клиника в Ташкенте сменила название и переехала с shifo-klinika.uz на yangi-shifo.uz, старый домен стоит сохранять несколько лет с 301-редиректом. Иначе пациенты не попадут на сайт по адресу со старой визитки, а накопленные за годы позиции в поиске будут потеряны.
Важно, чтобы каждая старая страница вела на соответствующую страницу нового сайта. Отправить всё на главную проще, но если человек нашёл в поиске страницу «расписание врачей», а попал на главную, ему придётся искать информацию заново. Если структура сайтов не изменилась, хватит одного правила с сохранением пути:
# .htaccess на старом домене
RewriteEngine On
RewriteRule ^(.*)$ https://yangi-shifo.uz/$1 [R=301,L]
Если адреса отдельных страниц поменялись, для них пишут отдельные правила перед общим:
Redirect 301 /doktorlar.html https://yangi-shifo.uz/shifokorlar/
Redirect 301 /narxlar.php https://yangi-shifo.uz/xizmatlar/narxlar/
302 и 307: временная переадресация
Временный редирект говорит поисковикам, что исходный адрес остаётся в силе, поэтому индекс не меняется. Он рассчитан на краткосрочные ситуации: например, интернет-магазин на время праздничной акции временно перенаправляет со страницы /katalog на специальную акционную страницу или показывает заглушку во время технических работ. Использовать 302 для постоянного переезда — распространённая ошибка: поисковики могут долго держать в индексе старый адрес. Код 307 похож на 302, но требует от браузера не менять метод запроса. Это важно для отправки форм и API-запросов, ведь некоторые клиенты после ответа 302 превращают POST в GET. По той же причине постоянный вариант с сохранением метода — это 308.
В конфигурации nginx временный и постоянный редиректы выглядят так:
location = /katalog {
return 302 https://dokon.uz/aksiya/;
}
server {
listen 80;
server_name eski-dokon.uz www.eski-dokon.uz;
return 301 https://dokon.uz$request_uri;
}
Маскированная переадресация и её проблемы
При маскированной (masked, frame) переадресации посетитель видит в адресной строке старый домен, а страница на самом деле загружается с другого сайта внутри невидимого фрейма. Выглядит аккуратно, но недостатков много. Поисковики не связывают содержимое фрейма с маскирующим доменом, поэтому в поиске такой домен практически не виден. Многие сайты запрещают встраивать себя во фреймы заголовками X-Frame-Options или Content-Security-Policy, и пользователь видит пустое окно. Кроме того, при переходе по внутренним страницам адрес не меняется, ссылкой невозможно поделиться, а на мобильных устройствах страница часто отображается в неправильном масштабе. Поэтому прибегать к такому способу стоит только тогда, когда других вариантов нет.
HTTPS: самая забываемая часть
Современные браузеры часто открывают адрес сразу через https://. Если у перенаправляемого старого домена нет SSL-сертификата, посетитель увидит предупреждение безопасности, так и не дойдя до редиректа. Дело в том, что сервер сначала должен установить защищённое соединение именно для этого имени и только потом отправить ответ с перенаправлением. Поэтому старый домен тоже нужно добавить на хостинг и выпустить для него сертификат. На хостинге sayt.uz сертификат Let's Encrypt бесплатный и продлевается автоматически, так что оставить старый домен в рамках хостинга — простое решение этой проблемы.
Почта вместе с редиректом не переезжает
Веб-переадресация влияет только на трафик из браузера. Даже после смены домена клиенты и партнёры ещё долго будут писать клинике на старый адрес info@shifo-klinika.uz. Чтобы эти письма не терялись, у старого домена нужно сохранить MX-записи и настроить псевдоним или правило пересылки на новый ящик. То есть переадресация домена и пересылка почты — две отдельные настройки, и путать их не стоит.
Проверка и плохие альтернативы
После настройки любой переадресации надёжнее всего проверить её из командной строки, потому что браузер подолгу кэширует ответы 301 и вы можете не увидеть изменений:
curl -sIL http://shifo-klinika.uz/doktorlar.html | grep -iE "^(HTTP|location)"
Параметр -L показывает все шаги цепочки, поэтому лишние переходы сразу заметны. Можно поставить перенаправление и внутри страницы — через JavaScript или meta refresh, — но такие способы работают медленнее, не все роботы их полностью понимают, и они не заменяют серверный 301. Оставьте их для случаев, когда доступа к настройкам сервера нет совсем.
Коротко: для постоянных изменений выбирайте 301, для временных — 302 или 307, а маскированной переадресации по возможности избегайте. Если вы не забудете про сертификат и почту старого домена, и посетители, и поисковые системы перейдут на новый адрес без каких-либо разрывов.