Как перенаправить в PHP

URL-адрес браузера пользователя можно изменить с одного места на другое с помощью перенаправления. Перенаправление требуется для многих целей, таких как переключение с HTTP на HTTPS, изменение домена и т. д. Когда пользователь отправляет запрос на страницу на сервер, который не существует, или на местоположение страницы, которое изменилось, сервер будет отправьте информацию о новом URL с кодом HTTP 301 или 302. Это поможет пользователю узнать о новом URL-адресе путем перенаправления, и пользователь отправит запрос в новое место, чтобы получить желаемый контент. URL-адрес перенаправляется в PHP с помощью функции header(). В этой статьи показано, как функцию header() можно использовать в PHP для перенаправления URL-адреса с одной страницы на другую.

 

Функция header()

Это встроенная функция PHP для отправки клиенту необработанного HTTP-заголовка. Синтаксис этой функции показан ниже.

Синтаксис:

header( $header, [$replace, [$http_response_code]] )

 

Эта функция может принимать три аргумента. Первый аргумент является обязательным, а последние два аргумента — необязательными. $header используется для хранения строки заголовка, который содержит расположение перенаправления. $replace определяет, будет ли заменить предыдущий похожий заголовок и значение этого аргумента Boolean. $http_response_code используется для хранения определенного кода ответа, который будет отправлять пользователь.

 

Пример-1: URL-адрес перенаправления с кодом состояния по умолчанию

Создайте файл PHP со следующим кодом, который будет перенаправлять в новое место после ожидания в течение 2 секунд. Здесь функция die() используется для завершения скрипта. Когда функция header() используется с одним аргументом, 302 используется в качестве кода HTTP по умолчанию.

<?php



//Подождите 2 секунды

sleep(2);

//Перенаправление в конкретное место

header("Location: http://localhost/php/contactForm/index.html");

die();



?>


 

Вывод:

После выполнения кода URL-адрес перенаправляется в адрес http: //localhost/php/contactForm/index.html через 2 секунды. Если вы проверите код и откроете вкладку «Сеть», то в качестве кода состояния по умолчанию будет отображаться 302.

 

Пример-2: URL перенаправления навсегда

Создайте файл PHP со следующим кодом, который будет перенаправлять в новое место после ожидания в течение 2 секунд. Здесь функция die() используется для завершения скрипта. Здесь функция header() используется с тремя аргументами. TRUE, используется для второго аргумента и 301 используется для третьего аргумента. Код состояния 301 используется для постоянного перенаправления.

<?php



//Подождите 2 секунды

sleep(2);

//Перенаправление в конкретное место

header("Location: http://localhost/php/contactForm/index.html",TRUE,301);

die();



?>

 

Вывод:

После выполнения кода URL-адрес перенаправляется в адрес http: //localhost/php/contactForm/index.html через 2 секунды. Если вы проверите код и откроете вкладку «Сеть», то в качестве кода состояния отобразится 301, указывающий, что URL-адрес перемещен навсегда.

 

Пример-3: временный URL перенаправления

Создайте файл PHP со следующим кодом, который будет перенаправлять в новое место после ожидания в течение 2 секунд. Здесь функция die() используется для завершения скрипта. Здесь функция header() используется с тремя аргументами. TRUE, используется для второго аргумента и 307 используется для третьего аргумента. Код состояния 307 используется для временного перенаправления.

<?php



//Подождите 2 секунды

sleep(2);

//Перенаправление в конкретное место

header("Location: http://localhost/php/contactForm/index.html",TRUE,307);

die();



?>


Вывод:

После выполнения кода URL-адрес перенаправляется в адрес http: //localhost/php/contactForm/index.html через 2 секунды. Если вы проверите код и откроете вкладку «Сеть», то в качестве кода состояния отобразится 307, указывающий, что URL-адрес временно перенаправлен.

 

Пример-4: URL-адрес перенаправления на основе условия

Создайте файл PHP со следующим кодом, который будет перенаправлять URL-адрес на основе условного оператора. В сценарии создается HTML-форма для перенаправления URL-адреса на основе выбранного значения раскрывающегося списка. Здесь раскрывающийся список содержит три значения. Если в раскрывающемся списке выбрать Google, сценарий PHP перенаправит URL-адрес в адрес https://google.com с кодом состояния по умолчанию 302. Когда AndreyEx выбран в раскрывающемся списке, сценарий PHP перенаправит URL-адрес в расположение https://andreyex.ru с кодом состояния 301. Когда выбран WordPress из раскрывающегося списка, то скрипт PHP перенаправит URL-адрес в расположение https://andreyex.ru/blog-platforma-wordpress/ с кодом состояния 302.

<html>

<head>

<title>Пример заголовка</title>

</head>

<body>

<form method="post" action=#>

<select name="web">

<option>Google</option>

<option>AndreyEx</option>

<option>Wordpress</option>

</select>



<input type="submit" name="submit" value="Go" />

</html>

<?php



//Проверьте, нажата ли кнопка отправки или нет

if(isset($_POST["submit"]))

{

if($_POST['web'] == 'Google')

{

//Перенаправление в конкретное место

header("Location: https://google.com");

}

elseif($_POST['web'] == 'AndreyEx')

{

//Перенаправление в конкретное место

header("Location: https://andreyex.ru",TRUE,301);

}

else

{

//Перенаправление в конкретное место

header("Location: https://andreyex.ru/blog-platforma-wordpress/");

}

die();

}

?>


 

После выполнения кода в браузере появится следующий вывод, который отобразит раскрывающийся список с тремя значениями и кнопкой «Перейти». Код состояния сейчас 200. После перенаправления код статуса будет изменен.

Если Google выберет вариант из раскрывающегося списка, то после нажатия кнопки «Перейти» он перенаправит вас в адрес https://google.com, и появится следующее изображение. Здесь генерируется код состояния по умолчанию 302.

Если AndreyEx выберет из раскрывающегося списка, то после нажатия кнопки «Go» он будет перенаправлен в адрес https://andreyex.ru, и появится следующее изображение. Здесь генерируется постоянный код статуса 301.

 

Вывод:

Различные варианты использования функции PHP header() объясняются в этой статьи на нескольких примерах. Перенаправление может быть выполнено временно и постоянно на основе кода состояния, используемого в функции header(). Эта статья поможет читателям узнать больше о цели перенаправления и применить ее, используя скрипт PHP в своем веб-приложении, когда это необходимо.



2020-12-02T18:56:48
Python