Редирект: что такое и какие виды бывают

Настройка переадресации домена

  1. Войдите в аккаунт Google Domains.
  2. Выберите домен.
  3. Если это возможно, откройте меню .
  4. Выберите Сайт .
  5. В разделе «Перенаправление на существующую веб-страницу» нажмите Добавить адрес пересылки.
  6. В поле URL веб-сайта . Примеры значений приведены ниже.
  7. Если вас устраивают значения по умолчанию, нажмите Включить переадресацию.

Если вы хотите изменить тип перенаправления, включить или отключить переадресацию пути и SSL, нажмите Расширенные настройки. Вот значения по умолчанию:

Параметр Значение по умолчанию
Временное перенаправление (302)
Без переадресации
SSL

Убедитесь, что трафик с домена перенаправляется на выбранный адрес (см. раздел ).

В Google Domains автоматически создается комплексная запись переадресации домена. Если удалить ее, переадресация будет отключена. Подробнее о комплексных записях…

Переадресация вашего субдомена

Вы можете настроить переадресацию для субдомена, домена, который является частью большего домена, на любой URL или IP-адрес. Для этого выполните следующие действия:

  1. Войдите в аккаунт Google Domains.
  2. Выберите домен.
  3. Если это возможно, откройте меню .
  4. Выберите Сайт.
  5. Нажмите Добавить адрес пересылки.
  6. Выберите Изменить.
  7. Нажмите Настройка переадресации субдомена.
  8. Укажите субдомен, для которого хотите настроить переадресацию.
  9. В поле Переадресация на укажите URL или IP-адрес, на который будете перенаправлять пользователей.
  10. Нажмите Включить переадресацию.

Проверка

После того как переадресация настроена, ее следует проверить. Вот как это сделать:

  1. Войдите в аккаунт Google Domains.
  2. Выберите домен, для которого вы настроили переадресацию.
  3. Прокрутите страницу вниз до раздела «Мой сайт».
  4. Нажмите на изображение сайта или выберите предварительный просмотр, чтобы он открылся в новой вкладке.

 

Обновление настроек переадресации может занять до 48 часов. Если ваш сайт так и не появится спустя это время, проверьте URL и повторите попытку.

Просмотр записей DNS

В Google Domains автоматически создается комплексная запись переадресации, которая содержит все необходимые записи DNS.

Чтобы посмотреть значения записей DNS, выполните следующие действия:

  1. Войдите в аккаунт Google Domains.
  2. Выберите домен, для которого вы настроили переадресацию.
  3. Если это возможно, откройте меню .
  4. Выберите DNS .
  5. Перейдите к разделу «Комплексные записи».
  6. Нажмите на значок стрелки рядом с комплексной записью, чтобы посмотреть дополнительные сведения о ней.

Алгоритм действий при переносе сайта на другой домен

Шаг 1. Зарегистрируйте новый домен

Мы подготовили рекомендации по выбору в инструкции «Регистрация доменов»

Обратите внимание, что для переноса сайта вам не понадобится хостинг на новом домене, поэтому не добавляйте эту услугу в процессе заказа домена

Шаг 2. Укажите для домена DNS-серверы

Если в первом шаге вы заказали домен в RU-CENTER, укажите для домена DNS-серверы и подождите, пока он начнёт работать. Время ожидания — от 2 до 24 часов. За этот период времени обновляется кэш корневых DNS-серверов и на них поступает информация о новых доменах. Если вы не знакомы с принципами работы DNS, но не прочь разобраться, загляните в статью Часто задаваемые вопросы о DNS.

Шаг 3. Настройте 301-й редирект

Настройте автоматическое перенаправление со всех страниц сайта исходного домена на соответствующие страницы нового домена. Для корректной работы «связки» доменов обязательно использовать 301-й (постоянный) редирект. Тогда поисковые системы переиндексируют сайт по новому адресу.

RU-CENTER предлагает 3 варианта настройки редиректа:

  • Вручную в .htaccess → Добавьте директиву по инструкции с заголовком 2. Постоянное перенаправление с кодом 301.
  • Автоматически при заказе услуги Перенаправление домена → После заказа и активации услуги воспользуйтесь статьёй Настройка услуги «Перенаправление домена».
  • Автоматически в панели управления хостингом → Настройте редирект в несколько кликов, как показано в гайде.

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

Шаг 4. Проверка редиректа

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

Выполните шаги 5 и 6, если ранее сайт уже был добавлен в Яндекс.Вебмастер и Console (Google).

Шаг 5. Склейка сайтов в Яндекс.Вебмастере

Объедините старый и новый домены в Яндекс.Вебмастере. Эта процедура необходима для того, чтобы поисковые роботы Яндекс не воспринимали новый домен как отдельный сайт и вам не потребовалось наращивать посещаемость с нуля.

Чтобы склеить сайты:

1. Авторизуйтесь в Яндекс.Вебмастере и нажмите плюс в верхней панели. Введите домен, зарегистрированный в первом шаге, и нажмите Добавить:

2. Подтвердите право на владение доменом одним из способов, предложенных Яндекс (через метатег, добавление HTML-файла в корневой директории или верификацию TXT-записью). Затем нажмите «Проверить»:

Прежний домен сайта также должен быть подтверждён в системе Яндекс.Вебмастер.

3. Перейдите в раздел «Индексирование» — «Переезд сайта»:

4. Выберите домен, добавленный ранее, и нажмите «Сохранить»:

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

Шаг 6. Изменение адреса в Console (Google)

Чтобы восстановить поисковый трафик по прошлому домену на новом:

1. Авторизуйтесь в Google-аккаунте и перейдите в Console.

2. Добавьте новый ресурс (домен, зарегистрированный в первом шаге):

3. Подтвердите право собственности на домены (исходный и целевой), добавив в их зону TXT-запись. Затем нажмите «Подтвердить»:

Исходный ресурс должен быть подтверждён в Google .

4. Перейдите на страницу инструмента «Изменение адреса».

5. Выберите добавленный ранее домен и нажмите «Проверить и обновить данные».

Далее произойдет склейка сайтов. Она займёт некоторое время.

Шаг 7. Настройка s.txt (≈ через месяц)

Чтобы завершить переезд, нужно закрыть старый сайт от индексации в файле s.txt. Делается это приблизительно через месяц после самой склейки. Найдите файл s.txt в корневом каталоге вашего сайта на хостинге и добавьте в него директиву:

старый_сайт.ru/s.txt

User-agent: *

Disallow: /

Сохраните изменения.

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

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

Настроить переадресацию можно через панель управления вашим хостингом или вручную средствами HTML, PHP, JavaScript.

В настройках конкретного хостинга обычно подробно описано, как сделать редирект через панель управления. Для разных CMS есть специальные плагины для редиректов. Разберем способы для настройки вручную на примере редиректа на сайт с 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;
    }#...
}

После изменения nginx.config перезапустите nginx с помощью команды «service nginx restart». Проверить, все ли корректно заполнено, можно через команду «nginx -t».

Редирект для Apache

Если вы используете Apache, вам нужен файл .htaccess. Для доступа есть несколько вариантов:

  • Используйте FTP и включите отображение скрытых файлов. Найдите .htaccess в каталоге public_html в папке с названием домена.
  • Откройте панель управления хостингом, включите отображение скрытых файлов и найдите его через Диспетчер файлов.

Скачайте .htaccess, добавьте код редиректа и загрузите файл заново. Если файла .htaccess нет, его нужно создать.

На домен без www

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ 
RewriteRule ^(.*)$ <a href="https://site.ru/https://site.ru/$1" class="redactor-autoparser-object">https://site.ru/https://site.ru/$1</a> 

На домен с www

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) <a href="http://www.site.ru/http://www.site.ru/$1" class="redactor-autoparser-object">http://www.site.ru/http://www.site.ru/$1</a> 

Редирект через PHP

Действует на уровне сервера. Лучше использовать другой способ, потому что этот работает медленно. Через PHP перенаправление настраивают для сайтов, где редирект нужен на многих, но не на всех страницах.

Файл index.php расположен в корневой папке. Скачайте его и добавьте код или отредактируйте прямо в диспетчере файлов в панели управления хостингом.

На домен без www

<!--?php
header("Location: http://site.ru/", true, 301);
exit();
?-->

На домен с www

<!--?php
header("Location: http://www.site.ru/", true, 301);
exit();
?-->

Редирект через HTML

Редирект через HTML-код медленнее, он работает на стороне браузера. Код нужно добавить между тегами и страницы, с которой нужно перенаправить. В параметре content=»» указывают задержку по времени.

На домен без www

<meta http-equiv="refresh" content="0; url=http://site.ru/">

На домен с www

<meta http-equiv="refresh" content="0; url=http://www.site.ru/">

Редирект через JavaScript

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

Код для редиректа нужно добавить между и в код первой исходной страницы.

На домен без www

<script type="text/javascript">
    window.location.replace("http://site.ru/");
</script>

Для задержки:

На домен с www

<pre><script>
    window.location.replace("http://www.site.ru/");
</script></pre>

Через cPanel

cPanel — это платная панель управления веб-хостингом. В ней тоже можно настроить редиректы, причем не используя вводы кодов. Во вкладке «Домены» есть раздел «Перенаправления», там нужно настроить редирект.

На домен без www

  1. В списке выберите нужный домен.
  2. В поле «Перенаправляет на» пропишите его с префиксом http://.
  3. Поставьте отметку у «Перенаправлять только с www»

На домен с www

  1. В списке выберите нужный домен.
  2. В поле «Перенаправляет на» пропишите его с префиксом http://www.
  3. Поставьте отметку у «Не перенаправлять www»

Примеры использования файла .htaccess

1. Перенаправление доменов c синонима сайта на основной домен с кодом 301

Перенаправить запросы на domain.ru с любого из синонимов сайта

Перенаправить запросы на www.domain.ru с любого из синонимов сайта

Эти правила рекомендуется размещать в самом начале файла .htaccess.

2. Постоянное перенаправление с кодом 301

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

где:

  • page.html — адрес старой страницы относительно корня сайта;
  • www.domain.ru — имя сайта;
  • new_page.html — адрес страницы, на которую нужно выполнить перенаправление.

Подобное правило не сработает для перенаправления с адресов, содержащих Query String (символы после ?). Для запросов, содержащих QUERY_STRING, можно использовать сочетание RewriteCond и RewriteRule.

Например, для перенаправления всех запросов к странице /period/?test=123 вашего сайта на domain.ru, вы можете написать:

3. Переопределение страниц ошибок

При помощи файла .htaccess вы можете установить свои страницы ошибок:

Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге ~/ваш_домен/docs/errors.

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

a) в файле ~/ваш_домен/docs/robots.txt прописать

b) создать файл ~/ваш_домен/docs/errors/.htaccess, в котором прописать

4. Постраничное перенаправление запросов на другой домен c кодом 301

Следующий код перенаправит все запросы к страницам вашего сайта на аналогичные страницы другого сайта, например, запрос http://domain.ru/main будет переадресован на http://www.newdomain.ru/main:

либо

5. Ограничение доступа к сайту по IP

Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3

Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:

Запретить доступ к сайту для всех:

6. Переопределение главной страницы сайта (индексного файла каталога)

Сделать главной страницей файл menu.html:

7. Включение обработки PHP в .html-файлах

8. Запрет выдачи листинга каталога

В случае отсутствия в папке главной страницы (индексного файла), при обращении без указания конкретного имени файла в запросе будет выдан список всех файлов, находящихся в каталоге. Для того чтобы запретить отображение листинга каталога, добавьте в файл .htaccess строку:

9. Включить выполнение CGI-скриптов в папке docs для файлов с расширениями .cgi, .pl. .py

В папке c CGI-скриптами необходимо разместить файл .htaccess с содержимым:

Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).

Атрибуты (права доступа) можно изменить с помощью файлового менеджера панели управления, при помощи вашего FTP-клиента или по SSH. Также в разделе Веб-серверУправление модулями должен быть включен модуль CGI.

10. Блокировка переходов со сторонних ресурсов

Для запрета перехода c baddomain.ru на domain.ru добавьте в .htaccess следующее:

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

11. Особенности использования кириллических доменов (.РФ, .МОСКВА и др.)

В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.

Например, для перенаправления site.ru на caйт.рф нужно воспользоваться следующим правилом:

В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.

12. Перенаправление с HTTP на HTTPS и обратно

Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.

Перенаправить запросы на https://domain.ru

Перенаправить запросы на http://domain.ru

3. Диагностика ошибок

Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.

В каких случаях используется постоянный редирект 301

  1. Смена доменного имени, перенос сайта. Необходимо произвести тотальную настройку переадресации со старого адреса на новый, чтобы все без исключения запросы к old_site.ru перенаправлялись на new_site.ru.

  2. Изменение написания url определенных страниц в целях SEO-продвижения, смены CMS или по иным причинам. Требуется настроить редирект с site.ru/1hdkr5 на site.ru/page_adress.

  3. Перенос разделов на субдомены. Необходимо сменить адрес www.site.ru/example на example.site.ru.

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

  5. Исключение дублирующихся страниц из индекса. 

  6. Склейка зеркал сайта – вариантов сайта с идентичным контентом, но разным написанием адресов: site.ru, www.site.ru, https://site1.ru и т.д. В этом случае выбирается один приоритетный домен и на него настраивается редирект со всех остальных зеркал.

  7. Удаление ранее существовавшей страницы. В этом случае пользователи обычно видят ошибку 404. Большое количество таких сообщений негативно воспринимается как пользователями, так и поисковиками.

  8. Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.

Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы

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

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1

Как сделать редирект через файл htaccess

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

Redirect 301 site.ru/page1/ site.ru/page2/

Где:

  • page1- страница которая будет переадресовывать;
  • page2 – открывающийся документ.

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/. Также допускается использование конструкции:

Также допускается использование конструкции:

Redirect permanent site.ru/page1/ site.ru/page2/

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.

Вводим нужное нам правило.

Редирект с протокола http на https.

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Если возникает циклический редирект, то воспользуйтесь этим вариантом:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Для Битрикс-сайтов на хостинге reg.ru

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

Для сертификатов https c Cloudflare:

RewriteCond %{HTTP:CF-Visitor} ‘»scheme»:»http»‘
# Without Cloudflare:
# RewriteCond %{HTTPS} off 
RewriteRule ^ https://www.example.com%{REQUEST_URI}

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine on
RewriteCond %{HTTP:HTTPS}  !on
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Что такое переадресация 301

Permanent Redirect 301 применяется с целью организации постоянной переадресации с неактуального доменного адреса или url отдельной страницы на рабочую версию. Редирект может понадобиться в связи с глобальным переносом сайта на другой домен, техническими изменениями в написании адреса, удалением страниц, необходимостью внутренней и внешней перелинковки. Один из вариантов использования перманентной переадресации – редирект с нескольких доменных имен, созданных в разных зонах, на один актуальный адрес. Грамотное использование редиректа позволяет перемещать контент без потерь в поисковой индексации, сохранить и даже увеличить прежний вес и позицию в выдаче.

Настроить код состояния HTTP 301 можно разными способами:

  • с помощью HTML и PHP;

  • через панель управления или плагины соответствующей CMS;

  • при помощи специальных скриптов (программ);

  • на уровне хостинг-провайдера;

  • внесением соответствующих записей в файлы .htaccess для сервера Apache или web.config для IIS.

Последний способ является наиболее простым и надежным. О нем чуть позже поговорим подробнее.

Есть ли какой-нибудь аналог .htaccess в nginx?

Ещё один довольно частый вопрос. В этом веб-сервера такой возможности нет. Однако, подобное обычно и не требуется. Дело в том, что nginx, как правило, устанавливается в качестве фронденда, т. е. принимает и обрабатывает все запросы, которые либо выполняет сам, либо перенаправляет на бэкенд, роль которого может выполнять Apache, который можно дополнительно конфигурировать с помощью .htaccess.

Поддержка сайта
С удовольствием создаю годный контент. Буду очень признателен, если вы поддержите мои усилия:

днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости

продлением хостинга на +1 месяц

2 070

не в сети 6 месяцев

Дополнительные параметры переадресации

Пользователям Google Domains также доступны следующие настройки переадресации.

Тип перенаправления

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

  • Временное перенаправление (HTTP 302) позволяет быстро передать изменения на адрес переадресации. При такой настройке можно в любое время запустить поиск адреса в таблице маршрутизации или на DNS-сервере.

  • Постоянное перенаправление (HTTP 301) позволяет браузерам кешировать адрес переадресации. В таком случае в следующий раз в том же браузере страница будет открываться чуть быстрее. Однако для передачи изменений может потребоваться больше времени.

Если вы не знаете, какой тип выбрать, используйте временное перенаправление (HTTP 302).

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: