Содержание
- 1 Зачем нужен 301 редирект
- 2 Создать код редиректа автоматически
- 3 Что такое Переадресация домена?
- 4 Зачем нужна переадресация домена?
- 5 Виды Переадресации домена
- 6 Как заказать Переадресацию домена?
- 7 Как настроить Переадресацию домена?
- 8 Не работает Переадресация домена
- 9 Как удалить Переадресацию домена?
- 10 Не нашли ответа на свой вопрос?
Elena_ZhmurinaЗнания Самостоятельная быстрая настройка редиректа для Nginx и Apache, а также с помощью PHP, HTML, JavaScript и cPanel. Разбираем на примере переадресации с www-домена на домен без www и наоборот.
В статье:
-
Зачем нужен 301 редирект
-
Как настроить 301 редирект
-
Создать код редиректа автоматически
Зачем нужен 301 редирект
301 редирект относится к постоянным, он означает, что ресурс переместили на новый URL навсегда и браузер направляет пользователя на актуальную страницу. При этом ссылочный профиль и авторитетность с неактуальной страницы переносится на новую.
Его применяют при переходе с HTTP на HTTPS, для перенаправления на домен с www или без, при переезде домена, удалении страницы с сайта, если пользователь еще может попасть на нее по ссылке на сторонних источниках, при переработке структуры и в других случаях.
Редирект для Nginx
Для серверов под Nginx нужно использовать файл nginx.config, добавьте код в секцию server. Если вы настроили виртуальные хосты, для каждого хоста нужно редактировать файлы отдельно.
С домена с www на домен без www
server {#... if($host~ * www.(.*)) { set $host_without_www $1; rewrite ^ (.*) $ http: //$host_without_www$1 permanent; }#... }
С домена без www на домен с www
server {#... if($host~ * ^ [ ^ .] + .[ ^ .] + $) { rewrite ^ (.*) $ $scheme: //www.$host$1 permanent; }#... }
Редирект для Apache
Если вы используете Apache, вам нужен файл .htaccess. Для доступа есть несколько вариантов:
- Используйте FTP и включите отображение скрытых файлов. Найдите .htaccess в каталоге public_html в папке с названием домена.
- Откройте панель управления хостингом, включите отображение скрытых файлов и найдите его через Диспетчер файлов.
На домен без www
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC] RewriteRule ^(.*)$ https://site.ru/https://site.ru/$1 [R=301,L]
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^site.ru RewriteRule (.*) http://www.site.ru/http://www.site.ru/$1 [R=301,L]
На домен без www
На домен без www
На домен без www
На домен без www
- В списке выберите нужный домен.
- В поле «Перенаправляет на» пропишите его с префиксом http://.
- В списке выберите нужный домен.
- В поле «Перенаправляет на» пропишите его с префиксом http://www.
Создать код редиректа автоматически
К примеру, с этим справится генератор 301 Redirect Code от RapidTables. Есть возможность выбора: сформировать код для вставки в .htaccess, а также PHP, HTML, JavaScript и другой. Комментарии со ссылкой на инструмент можно удалить.
301 Redirect Generator от Webworkshop предлагает сформировать код для редиректа со страницы на страницу, с домена на домен и с директории на директорию. Отдельно есть окно для перехода на домен с www. Для редиректов на домен есть только код для Apache .htaccess, для страниц есть возможность выбора.
Batch RewriteRule Generator позволяет настраивать редиректы для доменов или страниц пакетно: введите список URL-адресов с табуляцией или пробелами, можно скопировать пары из таблицы Excel, и генератор выдаст нужный код.
Почитать по теме:Как склеить домены для Яндекса и Google: руководство по переносу сайта
Что такое Переадресация домена?
Услуга «Переадресация домена» (называемая также 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-reg.ru) будут перенаправлены на соответствующие страницы другого адреса. Вы сможете настраивать множество перенаправлений с вашего домена (с разных адресов на базе домена).
Пример
Вы зарегистрировали домен newdomain.ru и ваш сайт находится по адресу http://mysite.narod.ru. Услуга позволит вам перенаправить запросы: с newdomain.ru, newdomain.ru/news, newdomain.ru/info и всех остальных страниц сайта на http://mysite.narod.ru.
О настройке различных вариантов услуги «Переадресация домена» читайте ниже в инструкции Как настроить Переадресацию домена.
Как заказать Переадресацию домена?
- 1.Авторизуйтесь в Личном кабинете REG.RU.
- 2.
Кликните по домену, для которого хотите подключить услугу:
- 3.
Пролистайте открывшуюся страницу вниз и напротив «Переадресация домена» нажмите Заказать:
- 4.
Выберите период, на который хотите заказать услугу, и нажмите кнопку Продолжить:
- 5.
Проверьте позиции в корзине и нажмите Оплатить:
- 6.Выберите удобный способ оплаты и оплатите выставленный счет.
Готово! Теперь услуга доступна в вашем Личном кабинете.
Как настроить Переадресацию домена?
С помощью услуги «Переадресация домена» вы можете настроить следующие виды переадресации:
- одиночное перенаправление конкретного адреса;
- одиночное перенаправление с маскировкой адреса во фрейме;
- массовое перенаправление всех страниц.
Подробнее про каждый способ.
Для корректной работы услуги, для домена должны быть прописаны бесплатные DNS-серверы (ns1.reg.ru и ns2.reg.ru). Если для домена прописаны другие DNS-серверы, воспользуйтесь инструкцией:
- 1.Авторизуйтесь в Личном кабинете.
- 2.Кликните по имени домена, для которого подключена услуга «Переадресация домена».
- 3.
Во вкладке «Управление» в блоке «DNS-серверы и управление зоной» нажмите Изменить:
- 4.
Выберите DNS-серверы ns1.reg.ru и ns2.reg.ru:
Готово, вы изменили DNS-серверы. Если ранее вы использовали другие DNS-серверы, изменения вступят в силу в течение 24 часов.
Чтобы настроить переадресацию с одного домена на другой:
- 1.
Перейдите к списку услуг и кликните по названию услуги Web-forwarding:
- 2.
Во вкладке «Управление» пролистайте страницу вниз и в блоке «Перенаправления» нажмите Добавить:
- 3.
В шторке справа выберите нужное перенаправление:
- 4.
Заполните необходимые поля:
- в поле «С адреса» укажите относительный адрес (без имени вашего домена), с которого требуется перенаправлять посетителей;
- в поле «На адрес» укажите имя сайта, на который будут перенаправлены посетители.
Нажмите Готово:
Готово. Одиночная переадресация с одного домена на другой настроена. Перенаправления других видов настраиваются аналогичным образом.
При подключении маскировки адреса во фрейме сайт автоматически помещается в шаблон, который убирает принудительное масштабирование сайта. Это защищает сайты с современным адаптивным дизайном от проблем при использовании данного способа переадресации домена.
В коде head автоматически добавляется метатег:
meta name=“viewport” content=“width=device-width, initial-scale=1.0”
который говорит нам о том, что сайт современен и оптимизирован для мобильных устройств.
Если при подключении маскировки адреса во фрейме, ваш сайт не масштабируется на мобильных устройствах или масштабируется неправильно — значит он не адаптивен.
Для устранения проблемы обратитесь к разработчикам вашего сайта.
Не работает Переадресация домена
- 1.
Убедитесь, что для домена прописаны DNS-серверы ns1.reg.ru и ns2.reg.ru: Как узнать, какие DNS-серверы прописаны для домена;
Если для домена прописаны другие DNS, их необходимо изменить на ns1.reg.ru и ns2.reg.ru: Как прописать DNS для домена в Личном кабинете REG.RU;
- 2.
Убедитесь в том, что услуга активна. Для этого перейдите в Личный кабинет, найдите нужную услугу переадресации. Зелёный значок указывает, что услуга активна:
- 3.
Убедитесь, что в поле перенаправление указан корректный адрес, откуда происходит перенаправление:
Если это не так, удалите перенаправление и настройте его еще раз по инструкции.
Как удалить Переадресацию домена?
Обратите внимание: при удалении услуги «Переадресация домена» средства не возвращаются.
- 1.Перейдите в Личный кабинет.
- 2.Кликните на название услуги, которую вы хотите удалить
- 3.
Во вкладке «Операции» нажмите Удалить услугу:
- 4.Подтвердите удаление услуги.
Готово! Услуга будет удалена в течение 15 минут.
732 —>
Не нашли ответа на свой вопрос?
Заявка в службу поддержкиТипы редиректов </span>
Есть несколько типов редиректов, рассмотрите каждый из них в кратце, чтобы определить какой из них вам больше подходит.
Редирект через htaccess — самый популярный, и довольно простой способ. Чтобы его сделать, вам понадобится создать в папке сайта файл с названием .htaccess (обратите внимание, что название файла начинается с точки, это не опечатка). Если вы используете CMS WordPress или Joomla, то скорее всего этот файл у вас уже есть, в этом случае вам нужно будет просто отредактировать его. Читайте ниже чтобы узнать какие именно инструкции в нем нужно прописать, чтобы создать перенаправление.
Редирект при помощи PHP — подойдет в том случае, если вы разбираетесь в PHP и знаете структуру своего сайта. Этот вариант подойдет вам, если ваш сайт написан не на CMS. В ином случае лучше используйте редирект через htaccess.
Редирект HTML — если у вас простой HTML сайт и вам нужно сделать перенаправление для одной страницы — это самый простой вариант. Сделать перенаправление для всего сайта этим способом будет трудозатратно, особенно если у вас на сайте больше 10 страниц.
Редирект при помощи JavaScript — этот способ подойдет также в том случае, если у вас простой сайт, либо если нужно сделать редирект для одной — двух страниц, либо для всего сайта в целом.
Редирект при помощи .htaccess файла </span>
Инструкции, которые вы увидите ниже, нужно прописать в файл .htaccess в самое начало.
- Редирект всего сайта (всех страниц) на другой сайт Redirect / http://new-site.ru/ В этом примере, перенаправление будет происходить на сайт new-site.ru
- Редирект одной страницы на другую Redirect /page-1.html /page-2.html В этом примере, перенаправление будет происходить со страницы page-1.html на страницу page-2.html. Обе страницы должны располагаться на одном домене.Этот вариант подходит для замены старых страниц сайта на новые.
- 310 редирект с www на без www В этом примере, посетители будут перенаправляться с http://www.example.ru на http://example.ru.
- 310 редирект с одной страницы на другую Redirect 301 /blog/page-1.html http://example.com/page-2.htm В этом примере, посетители будут перенаправляться со страницы blog/page-1.html на example.com/page-2.htm.
- Редирект ошибки 404 ErrorDocument 404 /index.html Пропишите эту строку в .htaccess файле, и тогда все посетители, которым встретится ошибка 404, будут перенаправлены на index.html.
- Редирект с HTTP на HTTPS Пропишите эту строку в .htaccess файле, и тогда все посетители вошедшие на сайт по протоколу HTTP будут перенаправляться на защищенный протокол HTTPS. Если вы прописываете редирект для WordPress, то обратите внимание на то, что в файле уже есть строка RewriteEngine On. Поэтому сразу под ней вам нужно добавить такие строки
PHP редирект </span>
В PHP редирект делается так: сервер отправляет заголовки headers браузеру посетителя, и тот переходит по нужному адресу автоматически. Стоит отметить важный момент, отправлять заголовки можно только до вывода другой информации. То есть они должны отправляться до вывода любой другой информации через echo и до отправки кук.
- Редирект на другой сайт <? header(» Location: http://example.com «); В этом примере, перенаправление будет происходить на сайт http://example.com
- Редирект на страницу другого сайта <? header(» Location: http://example.com/page.html «); Здесь перенаправление будет происходить на http://example.com/page.html
- Редирект определенной страницы на страницу другого сайта <? if( $_SERVER[‘REQUEST_URI’] === ‘blog/post-1.html’ ){ header(» Location: http://example.com/page.html «); } Здесь если посетитель сайта зайдет на страницу blog/post-1.html то он будет перенаправлен на http://example.com/page.html
HTML редирект </span>
Чтобы сделать редирект через HTML, нужно добавить на каждую страницу где он планируется специальный мета тег. Мета тег прописывается внутри тега . На больших сайтах этот метод не удобен, и рекомендуется использовать редирект через htaccess.
- Редирект на другой сайт В этом примере, перенаправление будет происходить на сайт https://yutex.ru с задержкой в 5 секунд. Если установить значение задержки вместо 5 в 0, то посетитель будет перенаправляться на другой сайт моментально.
- Редирект на страницу другого сайта Здесь перенаправление будет происходить на https://yutex.ru/index.html и без задержек.
JavaScript редирект </span>
- Редирект на другой сайт Перенаправление сработает на сайт yandex.ru.
- Редирект на другой сайт с задержкой Этот код делает то же самое что и предыдущий, но с задержкой в 5 секунд.
- Вариант для jQuery Замените example.com на свой домен, на который нужно перенаправить посетителя.
Используемые источники:
- https://pr-cy.ru/news/p/7463-kak-nastroit-redirekt-samostoyatelno
- https://www.reg.ru/support/domains/dopolnitelnye-uslugi-dlja-domena/chto-takoe-web-forvarding
- https://yutex.ru/redirect/kak-sdelat-redirect-vse-vidi.html