Переадресация на новый домен. Настройка услуги «Перенаправление домена. Перенаправление домена в файле.htaccess

Услуга «Переадресация домена» (называемая также 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 часов.

Добрый день мои дорогие слушатели/читатели/смотрители

Сегодня я расскажу вам про правильную склейку доменов и 301 редирект через файл htaccess .

Признаюсь честно - давненько я уже не писал, все дело в моем личном времени – к сожалению, оно не резиновое и его катастрофически не хватает в последнее время. Жена в роддоме, так что сын и все домашнее хозяйство лежит на мне, а если учесть, что я еще провожу тренинг и у меня есть свои ученики – сами можете представить – сколько у меня времени.

Но давайте ближе к делу!

Почему так важно, что бы сайт был склеен, точнее домен?

Дело в том, что поисковые машины (вроде Яндекс и Google) видят не один сайт, а два. Поясняю:

Допустим, у меня есть домен seregakolt.com, и поисковики видят их два.

Первый seregakolt.com

Второй www.seregakolt.com

Т.е. один и тот же сайт с www и без - поисковыми системами воспринимается их как два различных ресурса.

Какие у этого могут быть последствия? Да самые что ни на есть печальные!

Но что касается поисковиков – они будут воспринимать их как ссылки на разные сайты и вы будете просто терять часть ссылок! Т.е. часть PR и ТИЦ будут переходить на другой домен.

Получается, что если вы будете раскручивать сайт без www – а поисковая система первым нашла сайт с www, то сайт без www будет восприниматься как дубликат – и все ваши старания будут напрасны, так как он просто выпадет из рейтинга!!!

Таким образом вы будете терять посетителей!

Естественно, когда вы склеите свой домен, все ссылки будут приводить на один сайт, с www – либо без. Как вы уже сами выберете. И поисковая система будет воспринимать все как один сайт, сохраняя его авторитет.

Я знаю, что это чистой воды тупость, но уж так устроены наши поисковики, а раз они приводят львиную долю посетителей – значит, их привередливый характер и бестолковые заскоки нужно учитывать и относиться к ним серьезно!

Как работает 301 редирект и склейка доменов?

Все банально просто – поисковикам указывается главное зеркало и они вес ссылок переводят на его!

Причем склеить можно абсолютно разные домены! Т.е. если у вас сайт был раньше на одном домене, и вы хотите его перевести на другой, но при этом не потерять ссылки, ТИЦ и PR – склейка доменов вам поможет.

Пример можете посмотреть прямо на этом здесь. Попробуйте набрать и вас все-равно перебросит на сайт

И www будет удаляться из любых ссылок на мой сайт. И если кто то поставит ссылку с www, поисковик передаст весь ее вес домену сайт

Делаем 301 редирект через файл.htaccess

Сложного в этом ничего нет! Все делается простой правкой (созданием и правкой) файла в обычном блокноте.

Те, у кого – могут спокойно просто редактировать этот файл – он идет в комплекте системы!

Если у вас этого файла нет – тогда мы его просто создаем, название файла .htaccess – без каких либо расширений!

Возможно, Windows будет выпендриваться и говорить, что надо задать имя – тогда создайте этот файл через Total Commander или создайте его в любом редакторе (можно в обычном блокноте).

В большинстве случаев он идет вместе с CMS и должен быть у вас на хостинге в корневом каталоге сайта.

Если его там нет – создавайте и размещайте.

Если есть – просто редактируйте.

Теперь определитесь – какой домен вы хотите сделать главным и в путь по инструкциям ниже!


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

Открываем этот файл и добавляем в него следующий код:

Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.domain.com RewriteRule ^(.*)$ http://domain.com/$1

Обратите внимание, что последние две строчки должны идти сразу за строкой RewriteEngine On – это важно!


И наоборот с без www на с www: RewriteCond %{HTTP_HOST} ^domain\.com$ RewriteRule ^(.*)$ http://www.domain.com/$1

Просто вместо двух последних строчек напишите эти.

Если у вас есть этот файл, и там содержатся какие-то из этих строчек, но перед ними стоит знак # - это значит что строчка закомментирована и силы не имеет.

Уберите его!


301 редирект с одного домена на другой: RewriteRule (.*) http://www.newdomain.com/$1

Эту строчку вставляем вместо тех двух.

ОБЯЗАТЕЛЬНО:

1. Должна быть строка Options +FollowSymLinks

2. Должна быть строка RewriteEngine On

3. Строчки с редиректом должны идти СРАЗУ после строки RewriteEngine On

4. Файл.htaccess называется так, и никак иначе!

5. Файл.htaccess должен находиться в корневом каталоге!

6. Domain.com – не забудьте поменять на свой домен.

В принципе, это вроде все. Но 301 редирект хорошо понимает Google, а вот для Яндекса надо редактировать/создавать другой файл. Так что шаг ниже является – обязательным!


Склейка доменов для Яндекса:

Опять же идем в корневой каталог сайта и ищем файл с названием robots.txt, если его нет – создаем в обычном блокноте.

В этом файле размещаем следующий код:

User-agent: Yandex Disallow: Host: domain.com

Если у вас этот файл есть, а этих строк нет – значит добавьте их в конце через абзац.

Указываете главное зеркало в строчке Host - не забудьте поставить свой домен

Для тех, кто заказывает раскрутку у частных лиц и компаний.

Конечно, это очень редкий случай, но все же… Предупрежден – значит вооружен!

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

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

Причем у вас на сайте может остаться файл robots.txt с главным зеркалом на его сайт.

Будьте бдительны! И требуйте постоянных отчетов работ.

Спасибо за внимание, на связи был Серёга!

Если будут вопросы – задавайте в комментах.

Последнее обновление Ноябрь 26th, 2018

Время чтения: 2 минуты

301 редирект (301 Moved Permanently) — это перенаправление пользователя с одной страницы (url) на другую.

Зачем нужен 301 редирект

  • передача ссылочного веса
  • правильное избавление от старых страниц
  • сохранение позиций (полное или частичное) при смене урлов
  • избавление от дублей внутри сайта (если такое есть)
  • переезд сайта на новый домен или протокол HTTPS
  • склейка доменов

Как сделать 301 редирект с помощью файла.htaccess?

Примеры будем рассматривать на сайте вида site.ru

Склейка домена с www с вариантом без

Для поисковых систем site.ru и www.site.ru — это два разных домена. Если у вас не настроена переадресация с одной версии домена на другую, в выдаче поисковых систем могут появиться дубли страниц. При базовой технической оптимизации в файле прописывается обязательное правило с указанием главного зеркала сайта, но также для подстраховки необходимо настроить и редиректы. Это не будет лишним точно.

Настраиваем редирект с http://www.site.ru на site.ru. Здесь главное зеркало сайта это http://site.ru

RewriteCond %{HTTP_HOST} ^www\.(.*)$

RewriteRule ^(.*)$ http://%1/$1

301 редирект при переезде на HTTPS

Поисковые системы в последние годы обозначили тренд на безопасность и рекомендуют всем вебмастерам переводить сайты на защищенный протокол https

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Если нужно сделать наоборот:

RewriteCond %{HTTPS} «on»

RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}

Стандартная переадресация с одной статической страницы на другую

Часто бывает, что на сайте какие-либо страницы устаревают, становятся неактуальными или просто вебмастеру необходимо привести урл страницы к ЧПУ виду.

Например, нужно настроить 301 редирект со страницы http://www.site.ru/page1/ на страницу http://www.site.ru/prodvizhenie-saytov/

RewriteCond %{REQUEST_URI} ^/page1/ $

RewriteRule ^.*$http://www.site.ru/prodvizhenie-saytov/ ?

301-редирект с домена на домен

Иногда бывают ситуации, когда необходимо настроить редиректы с одного домена на другой. Например, у вас был молодой, не трастовый домен, а со временем появился откуда-то прокачанный, трастовый (купили может). Или владельцу сайта надоело старое название домена и резко захотелось его поменять на другое.

Для полной передачи веса с одного домена на другой одних редиректов будет не достаточно, но об этом не в этой статье.

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

Если ваш домен находится в зоне РФ

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

Переадресация на папки со слешем в конце /

Иногда на сайтах встречаются дубли страниц вида http://www.site.ru/prodvizhenie-saytov/ и http://www.site.ru/prodvizhenie-saytov

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.ru/$1/

Перенаправление с индексной страницы php (index.php) на саму папку (корень)

Иногда у сайтов может появляться «технический мусор» из-за особенностей админки или каких-либо других причин. Например, главная страница сайта бывает часто доступна по адресу вида http://www.site.ru/index.php и может присутствовать в индексе поисковых систем, мешая ранжированию главной страницы в поисковой выдаче.

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

Для всех индексных страниц на сайте:

RewriteRule ^(.*)index\.php$ http://www.site.ru/$1

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

RewriteCond %{HTTP_HOST} ^test.site.ru$

RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI}

Редирект 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

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

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

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

Эта статья написана для услуги Виртуальный хостинг, которая считается устаревшей с 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 на переадресуемом домене будет вести только на какую-то одну конкретную страницу домена назначения. Вряд ли это то, что вам нужно.