Редирект на другую страницу на php
![]()
Редирект на другую страницу в php осуществляется с помощью функции header.
Простой вызов функции header для редиректа:
Будьте внимательны, функция не будет работать, если перед ней есть любой html-код и не каких пробелов, постарайтесь размещать её в верху страницы. Также проблемы вызова бывают из-за кодировки, работайте в UTF-8.
Вызов header, для редиректа с задержкой 10 секунд.
Как сделать редирект в PHP
Читайте нашу статью, чтобы узнать, как сделать редирект PHP.
Иногда нужно, чтобы пользователь, который перешёл по ссылке, попал на другой URL-адрес . Предположим, вы делаете редизайн сайта: меняете цветовое оформление, перемещаете разделы на странице, добавляете новый функционал. Но пока работа не закончена, нужно, чтобы сайт продолжал работать. В этом случае можно скопировать его прежний вариант на другой домен или поддомен. Также бывает, что на сайте проходит временная акция. Пока действует предложение, вы хотите перенаправлять клиентов на страницу акции. В таких случаях поможет настройка редиректа.
Что такое редирект
Редирект — это перенаправление пользователя с одной страницы на другую. Причём редирект можно настроить как на разные страницы одного сайта, так и на страницу другого сайта.
Основные виды редиректов:
- 301 редирект — используется, когда страница окончательно перемещена на другой URL. При таком редиректе поисковики индексируют только новый вариант страницы — той, на которую попадает пользователь.
- 302 редирект — используется, когда страница перемещена временно. В этом случае поисковые системы индексируют все варианты страницы: и старую, и новую.

PHP location redirect
Для чего нужен редирект
Редирект может понадобиться в следующих ситуациях:
- замена движка сайта. Когда меняется архитектура сайта, появляется необходимость в настройке редиректа;
- замена домена. После того как вы перенесли сайт на другой домен, прежний домен некоторое время ещё отображается в поисковике. Если сделать PHP-редирект, поисковик автоматически направит пользователя на новый домен;
- изменение структуры ресурса. Пока вы меняете структуру сайта, можно создать копию старой версии и сделать на неё редирект;
- при авторизации. Часто пользователи сайта разделяются на группы, например администратор и посетитель. Пользователи в разных группах имеют разные привилегии, поэтому безопаснее сделать редирект для каждой группы на нужную версию сайта;
- переход на мобильную версию. Если посетитель сайта использует планшет или мобильный телефон, с таким редиректом он попадёт на версию, которая адаптирована под мобильные устройства;
- перенос разделов на поддомены. Например, на странице вашего сайта site.ru/shop был каталог товаров. Но ассортимент расширялся, и со временем понадобилось перенести этот раздел на поддомен shop.site.ru. В этом случае редирект настраивается с site.ru/shop на shop.site.ru;
- несколько доменов в разных доменных зонах. Предположим, вы разместили сайт на домене site.ru. При этом у вас есть ещё несколько доменов: site.com, site.info и site.biz. С доменов в зонах .com, .info и .biz можно настроить редирект на site.ru, чтобы у этого сайта росла посещаемость.

Redirect PHP URL HTTP
Переадресацию можно настроить несколькими способами:
- с помощью панели управления хостингом,
- через файл .htaccess,
- с помощью PHP,
- средствами HTML.
Чем отличается редирект PHP от HTML
PHP — серверный язык программирования. Это значит, что переадресация будет срабатывать не в коде страницы, а в скрипте, который размещен на сервере. По сути, вы добавляете в код индексного файла скрипт перенаправления. HTML — это язык разметки веб-страниц. Перенаправление можно сделать с помощью метатега, и редирект будет работать именно через код страницы.
Главная особенность редиректа на PHP в том, что переадресация прописана не в коде странице, а с помощью скрипта на сервере. Благодаря этому снижается восприимчивость к фильтрам поисковых систем.
Ниже мы подробнее рассмотрим принцип работы и настройку редиректа в PHP.
Как работает редирект в PHP
Предположим, вы сделали редирект со страницы index.php на index1.php. Когда пользователь откроет страницу с редиректом, в системе произойдёт следующее:
- Браузер запросит файл стартовой страницы index.php с сервера.
- Сервер, получив запрос от браузера, сообщит, что файл index.php больше недоступен и браузеру нужно искать новый файл index1.php.
- Браузер отправит новый запрос к серверу, на котором находится index1.php, и получит ответ.
- Браузер отобразит страницу index1.php.
Как настроить PHP-редирект
Прописывать редирект на сайт в PHP нужно в индексном файле. Чаще всего он называется index.php. Для настройки вам понадобится функция header( ). Она выглядит так:
header($header)
Где $header — строка HTTP-заголовка, который вы будете использовать. Для редиректа нужно использовать заголовок Location — он указывает на адрес целевого сайта.
Чтобы настроить редирект PHP:
Откройте индексный файл страницы, с которой нужно сделать редирект.
Впишите следующие строки:

Где http://site.ru/index1.php — ссылка на индексный файл страницы, на которую ведёт редирект. Если на конечном сайте установлен SSL-сертификат, вместо http:// укажите https://. После этого сохраните изменения: Periodical readings PHP redirect
Готово, вы настроили редирект.
Как настроить редирект с задержкой
Иногда нужно, чтобы пользователь попал на страницу и только спустя несколько секунд перешел на конечный сайт. Такое перенаправление можно настроить в индексном файле с помощью функции sleep( ).
Чтобы настроить переадресацию с задержкой:
Откройте индексный файл страницы, с которой нужно сделать редирект.
Добавьте строку:
sleep(5);

Где 5 — время ожидания в секундах. Полный код редиректа с задержкой будет выглядеть так: Celebrity PHP redirect
Готово, вы настроили редирект c задержкой.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь
В операторе if переход на другую страницу
Делайте header(«Location: page.php»); exit; , если я правильно вопрос понял. После Location либо полный адрес ( http://. ), либо страницу, относительно корня сайта.
13 ноя 2011 в 16:15
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
Есть такая функция header.
header() используется для отправки необработанных HTTP -шапок. См. в спецификации HTTP/1.1 информацию о HTTP headers .
Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
ответ дан 13 ноя 2011 в 16:09
nail_gizatullin nail_gizatullin
104 1 1 золотой знак 1 1 серебряный знак 3 3 бронзовых знака
Правильный совет. Только автор должен помнить, что вызов хедера возможен только ДО вывода на экран любого текста.
13 ноя 2011 в 16:14
Если вызов хедера возможен только ДО вывода на экран любого текста, то почему тогда у меня работает:
text
else header(«Location:google.com»); exit(); ?> >
Как в PHP реализовать переход на другую страницу?
Предположим, что вы хотите, чтобы пользователям, которые переходят на страницу https://example.com/initial.php отображалась страница https://example.com/final.php . Возникает вопрос как в PHP реализовать редирект на другую страницу?
Это можно сделать с помощью несколько методов PHP , JavaScript и HTML . В этой статье мы расскажем о каждом из методов, которые можно использовать для PHP перенаправления на другую страницу.
Вот несколько переменных, которые мы будем использовать:
Обновлено: 2022-08-22 17:36:58 Вадим Дворников автор материала
Использование функции PHP header() для редиректа URL-адреса
Если хотите добавить редирект с initial.php на final.php , можно поместить на веб-странице initial.php следующий код. Он отправляет в браузер новый заголовок location :
Здесь мы используем PHP-функцию header() , чтобы создать редирект. Нужно поместить этот код перед любым HTML или текстом. Иначе вы получите сообщение об ошибке, связанной с тем, что заголовок уже отправлен. Также можно использовать буферизацию вывода, чтобы не допустить этой ошибки отправки заголовков. В следующем примере данный способ перенаправления PHP показан в действии:
Чтобы выполнить переадресацию с помощью функции header() , функция ob_start() должна быть первой в PHP-скрипте . Благодаря этому не будут возникать ошибки заголовков.
В качестве дополнительной меры можно добавить die() или exit() сразу после редиректа заголовка, чтобы остальной код веб-страницы не выполнялся. В отдельных случаях поисковые роботы или браузеры могут не обращать внимания на указание в заголовке Location . Что таит в себе потенциальные угрозы для безопасности сайта:
Чтобы прояснить ситуацию: die() или exit() не имеют отношения к редиректам. Они используются для предотвращения выполнения остальной части кода на веб-странице.
При PHP перенаправлении на страницу рекомендуется использовать абсолютные URL-адреса при указании значения заголовка Location . Но относительные URL-адреса тоже будут работать. Также можно использовать эту функцию для перенаправления пользователей на внешние сайты или веб-страницы.
Вывод кода JavaScript-редиректа с помощью функции PHP echo()
Это не является чистым PHP-решением . Тем не менее, оно также эффективно. Вы можете использовать функцию PHP echo() для вывода кода JavaScript , который будет обрабатывать редирект.
Если воспользуетесь этим решением, то не придется использовать буферизацию вывода. Что также предотвращает возникновение ошибок, связанных с отправкой заголовков.
Ниже приводится несколько примеров, в которых использованы разные методы JavaScript для редиректа с текущей страницы на другую:
self.location='https://example.com/final.php';"; echo ""; echo ""; echo ""; ?>
Единственным недостатком этого метода перенаправления на другой сайт PHP является то, что JavaScript работает на стороне клиента. А у ваших посетителей может быть отключен JavaScript .
Использование метатегов HTML для редиректа
Также можно использовать базовый HTML для выполнения редиректа. Это может показаться непрофессиональным, но это работает. И не нужно беспокоиться о том, что в браузере отключен JavaScript или ранее была отправлена ошибка заголовков:
Также можно использовать последнюю строку из предыдущего примера, чтобы автоматически обновлять страницу каждые « n » секунд. Например, следующий код будет автоматически обновлять страницу каждые 8 секунд:
Заключение
В этой статье я рассмотрел три различных метода перенаправления с index php , а также их преимущества и недостатки. Конкретный метод, который стоит использовать, зависит от задач проекта.