Переезд сайта на новый домен или замена старого адреса обычно требует переадресации. В Beget это можно сделать двумя путями: через .htaccess (если вы управляете сайтом на Apache) или с помощью DNS/редиректа провайдера, если вам нужен вариант “с домена на домен” без правок на хостинге. Ниже разберем оба сценария и что проверить, чтобы редирект реально работал.

Что именно настраивать: домен, сайт и тип переадресации

Редирект может быть:
- с одного домена на другой (обычно нужно 301 - постоянная переадресация);
- с одной страницы на другую;
- “со всех страниц” (массовая переадресация) - чаще всего делается правилами в конфиге.

Для SEO и для кэширования браузерами обычно используют 301. Про коды статусов и смысл постоянного перемещения в .htaccess-правилах пишут в справке Beget по редиректам Apache (.htaccess и Redirect 301/persistent). Источник: https://beget.com/ru/kb/how-to/other/volshebnyj-fajl-htaccess

Вариант 1. Редирект всего сайта через .htaccess (301)

Если оба домена указываются на Apache в Beget и вы можете править .htaccess, самый рабочий вариант - отдать все запросы на новый домен с кодом 301.

Шаги

  1. Откройте управление сайтом в Beget.
  2. Найдите .htaccess в корне (или создайте его) для домена-источника.
  3. Добавьте правило редиректа.

Пример для всего сайта:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.ru$ [NC]
RewriteRule ^(.*)$ https://new-domain.ru/$1 [R=301,L]

Как читать правило:
- RewriteCond %{HTTP_HOST} ... - срабатывает только на нужном домене-источнике
- RewriteRule ^(.*)$ .../$1 - перенаправляет все пути
- [R=301,L] - постоянный редирект и остановка обработки

Beget в своих примерах mod_rewrite для переноса с домена на домен использует схожую логику: сначала проверка HTTP_HOST, затем RewriteRule с [R=301,L]. Источник: https://beget.com/ru/kb/manual/domeny-i-poddomeny (разделы Beget относятся к работе с доменами, а синтаксис и примеры mod_rewrite - в статье про .htaccess: https://beget.com/ru/kb/how-to/other/volshebnyj-fajl-htaccess)

Частые ошибки

  • Редирект прописан на стороне нового домена, а не на источнике.
  • В правиле “old-domain.ru” написан с ошибкой или без нужного www.
  • Указан http вместо https и вы потом вручную меняете адреса в коде сайта.
  • .htaccess не применяется: редирект не меняет ответ сервера.

Вариант 2. Редирект “с домена на домен” через переадресацию провайдера

Если вы не хотите править сайт и .htaccess или нужен быстрый “перелив домена” на другой адрес, в некоторых панелях подключается специальная услуга переадресации домена, где задаются:
- адрес “с которого”;
- адрес “на который”;
- вид переадресации (обычно используется 301).

Например, в инструкциях Рег.ру описана услуга web-forwarding и указано, что при настройке применяется 301 редирект, а также перечислены типы переадресаций и требования для корректной работы. Источник: https://help.reg.ru/support/domains/dopolnitelnyye-uslugi-dlya-domena/pereadresatsiya-domena

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

Что проверить после настройки

1) Редирект реально отдает 301

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

Коды 301 и параметры редиректа описаны в справке по .htaccess и директивам Redirect/RewriteRule у Apache и в материалах Beget. Источник: https://beget.com/ru/kb/how-to/other/volshebnyj-fajl-htaccess

2) Нет зацикливания “A -> B -> A”

Такое бывает, когда правило совпадает и на новом домене. Минимальная защита - проверять HTTP_HOST, как в примерах выше.

3) Правило должно учитывать www/без www

Если у источника доступен и www, и “без www”, добавьте обработку обоих вариантов. Можно сделать это через регулярное выражение, как в примере с (www\.)?.

Быстрая шпаргалка: какой вариант выбрать

Задача Лучший способ в Beget Почему
Перенести все страницы сайта на новый домен (страницы сохраняют пути) Правила в .htaccess (mod_rewrite, 301) Можно перенаправить все пути через /$1
Перенаправить только одну страницу Локальное RewriteRule или отдельное Rewrite/Redirect правило Не нужно трогать весь сайт
Быстро сделать “с домена на домен” без правок сайта Переадресация домена в услуге провайдера Меньше действий на хостинге
Есть требования по отображению или нюансы платформы Смотрите тип переадресации в настройках услуги У разных услуг отличаются режимы и ограничения

Вывод

Если вы контролируете сайт и можете менять .htaccess, настройте 301 редирект на источнике через mod_rewrite: проверка HTTP_HOST + перенаправление всех путей на новый домен. Если править сайт неудобно, используйте услугу переадресации домена в панели провайдера и задайте адреса “с которого” и “на который”, учитывая, что обычно применяется 301 и есть требования к настройкам делегирования.

Оба подхода опираются на понятия постоянной переадресации и настройку редиректов через Apache механизмы (.htaccess) и услуги web-forwarding. Источники: https://beget.com/ru/kb/how-to/other/volshebnyj-fajl-htaccess и https://help.reg.ru/support/domains/dopolnitelnyye-uslugi-dlya-domena/pereadresatsiya-domena