Как сделать редирект в PHP

Читайте эту статью, если хотите узнать, зачем нужен редирект и как сделать редирект в PHP.

Что такое редирект

Редирект — это автоматические перенаправление пользователя с одного URL на другой. Перенаправление можно настроить как на разные страницы одного сайта, так и на страницы другого сайта.

Редирект сопровождается кодом ответа 3xx. Самые популярные виды переадресации:

  • 301 редирект — когда конечная страница навсегда перемещена на другой URL. При такой переадресации индексируется только новая версия страницы с новым URL-адресом.
  • 302 редирект — когда конечная страница временно перемещена на другой URL. В этом случае она индексируется и на старом, и на новом URL-адресе.

Redirect PHP URL HTTP

 

Для чего нужен редирект

Частые случаи, при которых используется редирект:

  • смена доменного имени. После переноса сайта на другой домен, прежний домен ещё будет отображаться в поисковиках некоторое время. Редирект поможет направить посетителей на новый адрес сайта.
  • перенос раздела на поддомен. Этот случай похож на смену доменного имени. Разница в том, что трафик перенаправляется в пределах одного домена. Предположим, что на вашем сайте есть страница со списком адресов test2d.ru/contacts. Со временем клиентская база расширилась, и нужно разместить списки адресов для нескольких городов или стран. Вы можете создать отдельный поддомен для каждого города и разместить на нём адреса только в этом городе. Например, на поддомене moscow.test2d.ru указать адреса в Москве, а по ссылке spb.test2d.ru адреса в Санкт-Петербурге и т.д.
  • изменение структуры или движка сайта. Пока вы работаете над архитектурой сайта, можно создать копию прежней версии и сделать на неё редирект. Это позволит сохранить позиции сайта в поисковой выдаче.
  • переход на мобильную версию. Можно настроить редирект на версию сайта, которая адаптирована под мобильные устройства. Это будет полезно для посетителей, которые используют смартфоны или планшеты.
  • несколько доменов в разных зонах. Предположим, вы разместили сайт на домене test2d.ru, а потом зарегистрировали такие же домены в зонах .COM,  .ORG и .INFO. Для оптимизации трафика можно настроить редирект с доменов test2d.com, test2d.org и test2d.info на test2d.ru.
  • авторизация. Пользователей, зарегистрированных на сайте, можно разделить на группы: например, администраторы, модераторы и посетители. В некоторых случаях для каждой из групп необходимо настроить редирект на нужную версию сайта. После авторизации каждая из групп будет видеть соответствующий контент.

Как работает редирект в PHP

Рассмотрим ситуацию, когда редирект настроен со страницы index-1.php на страницу index-2.php. Перенаправление действует по следующему алгоритму:

  1. Браузер запрашивает у сервера файл index-1.php.
  2. Сервер получает запрос от браузера и сообщает, что index-1.php больше не доступен. Браузеру нужно искать файл index-2.php.
  3. Браузер отправляет новый запрос к серверу, на котором расположен index-2.php.
  4. Браузер получает ответ и открывает страницу index-2.php.

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

1. Откройте файл index.php.

2. Выберите тип редиректа, который вы хотите настроить:

 
Без задержки

3. Добавьте строки:

<?php
// index-1.php
header(“Location: https://test2d.ru/index-2.php”);
exit( );
?>

Вместо https://test2d.ru/index-2.php добавьте URL, на который должен вести редирект.

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

PHP location redirect

 
С задержкой

3. Добавьте строки:

<?php
// index-1.php
sleep(5);
header(“Location: https://test2d.ru/index-2.php”);
exit( );
?>

Вместо https://test2d.ru/index-2.php добавьте URL, на который должен вести редирект.

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

Periodical readings PHP redirect

Готово, вы настроили редирект на сайт в PHP.

Если вы не нашли ответ, спросите у нас!
Написать в поддержку