Как сделать перенаправление на другой домен. Настройка услуги «Перенаправление домена

Эта статья устарела.

Эта статья написана для услуги Виртуальный хостинг, которая считается устаревшей с 1 июня 2019 года.

Актуальную услугу хостинга можно заказать на нашем сайте

Переадресация с одного домена на другой (редиректоры)

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

  1. Ваш сайт открывается по адресу www.mycompany.ru и mycompany.ru. Вы хотите, чтобы при обращении к адресу сайта с www шла переадресация на ту же страницу на домене без www (http://www.mycompany.ru/news/ » http://mycompany.ru/news/)
  2. У вас есть основной домен mycompany.ru и альтернативный my-company.ru. Нужно сделать чтобы при наборе в браузере адреса my-company.ru посетитель автоматически переводился на основной домен mycompany.ru

Первая задача наиболее простым способом решается в разделе . Слева от названия сайта необходимо кликнуть на иконку с тремя горизонтальными полосками и выбрать "Тонкие настройки". Далее активировать "Включить перенаправление". После этого остается выбрать на какой домен необходимо перенаправлять все запросы. Готово!

Показать как можно решить первую задачу при помощи mod_rewrite

Также первую задачу можно решить с помощью mod_rewrite . Чтобы настроить переадресацию с адресов, начинающихся с www на аналогичные без www (http://www.mycompany.ru/news/ » http://mycompany.ru/news/), нужно в файл.htaccess в корневой папке www вашего сайта прописать следующие строки:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.mycompany\.ru$ RewriteRule ^(.*)$ http://mycompany.ru/$1

Если вам наоборот нужно чтобы адреса без www автоматически переадресовывались на те же адреса с www (http://mycompany.ru/news/ » http://www.mycompany.ru/news/), например как сделано на нашем сайте: автоматически переадресует вас на , то правила mod_rewrite выглядят следующим образом:

RewriteEngine On RewriteCond %{HTTP_HOST} ^mycompany\.ru$ RewriteRule ^(.*)$ http://www.mycompany.ru/$1

Вторая задача может быть решена также при помощи правил mod_rewrite , но если вы размещаетесь на тарифном плане Лайт, Стандарт или Профи, то ограничены числом доменов, включенных в тариф. Поэтому настройка сайта с одним только файлом.htaccess лишит вас еще одного домена в квоте по тарифу, что не всегда приемлемо. В этом случае мы предлагаем воспользоваться сервисом .

Нужно удалить A-запись для домена my-company.ru из и затем создать . При этом для домена my-company.ru будет автоматически создана новая A-запись, которая будет указывать на сервис редиректов.

Можно ли решить первую задачу тоже с помощью сервиса Редиректоры панели? Да, можно, но это приведет к тому, что вместо переадресации http://www.mycompany.ru/news/ » http://mycompany.ru/news/ вы получите переадресацию http://www.mycompany.ru/news/ » http://mycompany.ru/, то есть любой url на переадресуемом домене будет вести только на какую-то одну конкретную страницу домена назначения. Вряд ли это то, что вам нужно.

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

Пошаговая инструкция по смена адреса сайта

1. Скопируйте полностью все файлы сайта на новый домен (при этом со старого домена пока ничего не удаляйте). Желательно сохранив всю структуру сайта, иначе позиции могут измениться довольно сильно.

2. Пропишите в обоих robots.txt директиву host с адресом нового домена:

User-agent : * Host : newdomen.ru

Это надо сделать как на старом домене, так и на новом:

olddomen.ru/robots.txt newdomen.ru/robots.txt

3. В Яндекс Вебмастер зайдите в раздел "Настройки индексирования" &rt; "Переезд сайта" и укажите адрес нового домена.

В Google Вебмастер также есть опция "смена адреса сайта".

4. После смены желательно дождаться пока поисковые системы склеят эти домены.

5. Нужно сделать 301 редирект со старого домена на новый. Как это сделать читайте далее.

301 редирект со старого домена на новый

Правильнее и проще всего это делать через файл.htaccess (располагается в корне сайта). Этот код нужно разместить на старом сайте, на новом домене размещать его не нужно!

Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^oldomen\.ru RewriteRule ^(.*)$ http://newdomen.ru/$1 RewriteCond %{HTTP_HOST} ^www.olddomen\.ua RewriteRule ^(.*)$ http://newdomen.ru/$1

Или второй вариант

Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteRule (.*) http://newdomen.ru/$1

Редирект 301 или 301 Permanent Redirect — это правило, которое автоматически переадресовывает пользователя на другой адрес страницы. С его помощью вы можете склеить старые страницы с новыми или перенести сайт на другой домен, убрать многие дубли с сайта и многое другое. Крайне полезная вещь — поэтому нужно научиться делать его правильно!

Так же при 301 редиректе происходит склейка тИЦ (читаем ) и PR — т.е. вы можете сохранить старое значение на новом адресе. Вы можете нисколько не потерять в глазах поисковых систем. Давайте перейдем от теории к практике.

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

Файл под названием.htaccess находится в главной категории вашего сайта. Это служебный файл, в котором мы будем указывать правила склейки. Открываем файл блокнотом (рекомендую notepad++ , чтобы не было проблем с кодировкой). Не забывайте, что это один из важных пунктов в .

Общий шаблон для.htaccess, которым мы будем пользоваться:

Options +FollowSymLinks RewriteEngine On #Здесь указываем правила

Все правила записываются в виде:

RewriteCond [Сравнение] [Условие] [Флаги] RewriteCond [Сравнение] [Условие] [Флаги] RewriteRule [Шаблон] [Подстановка] [Флаги]

Теперь непосредственно займемся переадресацией и разберем конкретные примеры.

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

Примеры использования 301 редиректа

Редирект с index.php на главную

Чтобы настроить его вам нужно прописать в вашем файле следующий код, который будет перенаправлять посетителей с адреса site.ru/index.php на site.ru:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP RewriteRule ^index\.php$ http://site.ru/

Если вам так же нужно сделать переадресацию с index.html, то просто в коде выше замените .php на .html

Склеиваем алиасы сайта

Если у вас несколько доменов и вы хотите все их перенаправлять на основной сайт, то используем:

RewriteCond %{HTTP_HOST} ^vash-sait.com$ RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ RewriteCond %{REQUEST_URI} !^/robots.* RewriteRule ^(.*)$ http://vash-sait.ru/$1

Обратите внимание на первые 2 строки, там указано зеркало в зоне.com, если у вас иная или несколько зон, то добавляем правила.

Редирект с www на без www

Этот способ я уже описывал ранее, но повторюсь. Для того, чтобы склеить зеркала и выбрать основным домен без www прописываем:

RewriteCond %{HTTP_HOST} ^www.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Редирект с домена без www на домен с www

Это действие противоположное предыдущему, только основное зеркало здесь www.site.ru:

RewriteCond %{HTTP_HOST} ^site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

301 редирект страниц со слэшем и без

Это еще один вид дублей, тут мы склеим страницы site.ru/category/ и site.ru/category, как видите, в конце второго урла не стоит слэша:

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1

Если вам нужно наоборот оставить слэш в конце урла, то вам нужен данный вариант:

RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Если у вас по какой-то причине появились урлы типа site.ru/category//article.html, то юзаем код:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2

где, «//» можно заменить на «—» или любые сдвоенные символы в урле.

Массовая замена категории

Бывает, что вы переименовали категорию, а за ней закреплены тысячи урлов. Чтобы не состарится во время написания тысяч одинаковых перенаправлений юзаем:

RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2

RewriteRule old-category /(.*) / old-category /$1

Редирект на новую страницу

Самый простой редирект со страницы на страницу, для это просто пропишите так:

Redirect 301 /old-post.html http://new-site.ru/new-post.html

Где old-post.html — это ваша старая страница, а new-site.ru/new-post.html — это новая страница и она может быть на любом домене (включая ваш текущий домен).

Редирект для url с параметрами

Страницы с параметрами редиректятся сложнее, возьмем пример http://site.ru/page.php?sort=articles. Параметр здесь «sort=articles». Код будет следующим:

RewriteCond %{QUERY_STRING} sort=articles RewriteRule .* http://site.ru/page.php?

Работаем с расширениями

Убираем.html из url (для удаления.php не забудьте заменить $1.html на $1.php):

RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]

Меняем.php на.html в урлах и наоборот (не забываем поменять местами в коде):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Правильный 301 редирект на новый домен

Этот пункт я выделил отдельно, т.к. он больше связан с переносом на другой домен. Тут есть важный момент, это не упустить директиву по правке роботса — она указана на 3 строке кода.

RewriteCond %{REQUEST_FILENAME} robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1 RewriteCond %{HTTP_HOST} ^www.site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1

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

Если у вас появились какие-то вопросы, пишите в комментарии — будем разбираться 🙂

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

Перед созданием 301 редиректа…

А начну я с того, что перед созданием перенаправления, стоит тщательно проверить работоспособность сайта на новом домене. В частности:

  • Проверьте директивы в файле robots.txt .
  • Проверьте метатеги Robots на веб-страницах сайта, на новом домене.
  • Проверьте метатеги canonical .
  • Проверьте доступность страниц.
  • Обязательно создайте 404 страницу и установите на неё счётчик, в дальнейшем это позволит отследить наличие проблем.

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

Перенаправление с одного домена на другой в.htaccess

Существует достаточно много вариантов решения поставленной задачи. Лично я рекомендую использовать вот такой вариант?


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.ru$
RewriteRule ^(.*)$ http://www.new-domain.ru/$1

Чем хорош данный вариант? Во первых, он исключает из редиректа на старом домене файл robots.txt , что позволяет задать в нём директиву Host с указанием нового домена. Это работает только для поисковой системы Яндекс, подробней читайте . Я же отмечу, что директива Host может быть указана где угодно, но лучше будет указать её так:

User-agent: Yandex
Disallow: /cgi-bin
Host: www.new-domain.ru

Во вторых, этот вариант осуществляет редирект с одного домена на другой, независимо от того было ли указано в старом домене www. или нет, учтены оба варианта.

Очевидно и то, что для работы приведенного примера редиректа необходимо указать свои домены. Обращаю ваше внимание на то, что в регулярном выражении директивы RewriteCond необходимо экранировать спецсимволы, тот же символ точки (.), например: old-domain\.ru , в то время как для нового домена в этом нет необходимости, но нужно начинать именно с HTTP-протокола, т.е. http:// и т.д.

К слову, новый домен можно указать и без www. в начале, но тут не забывайте о главном зеркале.

Рекомендация 1: Ещё до установки редиректа можно использовать директиву Host для Яндекс и метатег canonical для Google, а также файл sitemap.xml с URL-адресами страниц на новом домене; дождаться склейки и только тогда ставить редирект.

Примечание : Проверить склейку в Яндекс можно путём добавлении не главного зеркала (старого домена) в форму Сообщить о новом сайте , она возвращает соответствующее сообщение: Указанный вами сайт является неглавным зеркалом сайта...

В Google для этого можно использовать поисковый оператор запросов info: , указав в качестве значения старый домен, например: info:old-domain.ru .

Также Вы можете использовать и ряд онлайн сервисов, например: проверка домена на склейку от SEOGadget, проверка склейки на webmasters.ru и т.д.

С моей точки зрения лучше сразу ставить 301 редирект с исключением файла robots.txt , что избавит нас от лишних телодвижений и проблем с дублями.

Рекомендация 3: используйте инструмент «Изменение адреса » в Google инструменте для веб-мастеров, чтобы сообщить Google о новом домене сайта. Для этого должен быть добавлен и подтверждён сайт на старом домене. Выбираем его в списке. На открывшейся странице кликаем список с иконкой в виде шестеренки, а потом пункт «Изменение адреса ».

  • Индексирование сайта > Исключенные страницы - в Яндекс.Вебмастер.
  • Сканирование > Ошибки сканирования (вкладка «Не найдено ») - в Google инструментах для веб-мастеров.

На этом у меня всё. Спасибо за внимание. Удачи!

в 6:00 Изменить сообщение 14 комментариев

Услуга «Переадресация домена» (называемая также Web-forwarding, URL-forwarding, Web-redirect, HTTP-redirect) позволяет настроить переадресацию с одного домена на другой, а также на веб-страницу с другим адресом.

При настройке переадресации используется 301 редирект.

Примеры переадресаций

  • с домена mysite.ru на домен my-new-site.ru ;
  • с домена mysite.ru на страницу my-new-site.ru/shop .

Все пользователи, набравшие адрес вашего домена (или пришедшие на него по ссылке), попадут на веб-страницу, адрес которой вы укажете в настройках услуги «Переадресация домена». Использование услуги позволит вам иметь постоянный адрес веб-страницы, который не придется менять при смене провайдера.

Услуга «Переадресация домена» может также использоваться при регистрации дополнительного доменного имени для уже существующего веб-сайта.

Внимание

  • Установка SSL-сертификатов на услугу веб-форвардинг невозможна. Поэтому перенаправление с https ://mysite.ru/ не производится.
  • Настроить перенаправление с поддомена (например, с subdomain.domain.ru) на какую-либо страницу невозможно.

Зачем нужна переадресация домена?

В качестве примера предлагаем рассмотреть такую ситуацию:

У вас есть домен mycompany.ru , на котором полноценно работает сайт. На нём есть раздел продукции одного из ваших поставщиков. Адрес этой страницы: www.mycompany.ru/mybrand/index.html или подобный.

Для лучшего продвижения товара этого поставщика вы приобретаете целевое доменное имя: mybrand.ru и заказываете для него на адрес уже существующего раздела на вашем основном сайте: www.mycompany.ru/mybrand/index.html.

Теперь посетители могут набирать прямой адрес сайта бренда mybrand.ru , а вы использовать этот адрес в прямой рекламе продукции этого бренда. Легче запомнить адрес – выше эффективность!

Виды Переадресации домена

Одиночное перенаправление запроса

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

Пример:
  • настроена переадресация site1.ru site2.ru ;
  • site2.ru .

Одиночное перенаправление с маскировкой адреса во фрейме

В этом случае посетители видят адрес той страницы, с которой происходит перенаправление. Веб-страница будет находиться внутри фрейма, и при всех переходах по ссылкам внутри этого фрейма в адресе URL посетители будут видеть доменное имя, с которого происходит переадресация.

Пример:
  • настроена переадресация site1.ru site2.ru ;
  • посетители видят в строке браузера: site1.ru .

Техническая справка

Необходимо помнить, что если вы выбираете «маскировку адреса во фрейме», и хотите установить на вашей веб-странице ссылки на другие ресурсы, в теге ссылки необходимо указать target=_top . В противном случае чужая веб-страница также будет открыта внутри вашего фрейма, и посетитель будет видеть в строке браузера URL-адрес вашего домена. Также необходимо иметь в виду, что истинный адрес веб-страницы, на которую осуществляется перенаправление, хотя и не отображается в строке браузера, все же может быть легко вычислен любым посетителем.

Массовое перенаправление всех страниц

Все запросы с одного адреса (например, http://faq-сайт) будут перенаправлены на соответствующие страницы другого адреса. Вы сможете настраивать множество перенаправлений с вашего домена (с разных адресов на базе домена).

Пример

Вы зарегистрировали домен newdomain.ru и ваш сайт находится по адресу http://mysite.narod.ru. Услуга позволит вам перенаправить запросы: с newdomain.ru , newdomain.ru/news , newdomain.ru/info и всех остальных страниц сайта на http://mysite.narod.ru .

Как заказать Переадресацию домена?


Готово! Теперь услуга доступна в вашем Личном кабинете.

Как настроить Переадресацию домена?

С помощью услуги «Переадресация домена» вы можете настроить следующие виды переадресации:

  • одиночное перенаправление конкретного адреса;
  • одиночное перенаправление с маскировкой адреса во фрейме;
  • массовое перенаправление всех страниц.

Для корректной работы услуги, для домена должны быть прописаны бесплатные DNS-серверы (ns1.сайт и ns2.сайт ). Если для домена прописаны другие DNS-серверы, воспользуйтесь инструкцией:

Как изменить DNS-серверы?


Готово, вы изменили DNS-серверы. Если ранее вы использовали другие DNS-серверы, изменения вступят в силу в течение 24 часов.