(PECL pecl_http >= 0.1.0)
http_redirect — Осуществляет HTTP редирект
$url
[, array $params
[, bool $session
= false
[, int $status
= 0
]]]] )Перенаправляет на указанный URL.
Переданный url
будет дополнен функцией http_build_url(), массив,
переданный в params
, будет обработан с помощью http_build_str()
и если параметр session
установлен в true, к запросу будет дописана сессионная идентификация.
Статус HTTP ответа будет установлен в соответствие с параметром status
.
Для удобства вы можете использовать одну из констант переадресации.
Ознакомьтесь с » RFC 2616 для понимания в каких ситуациях какой код
редиректа следует использовать. По умолчанию PHP сам будет решать какой статус ответа подходит лучше всего.
Для совместимости с RFC, будет показано сообщение "Перенаправление на <a>URL</a>.", если клиент не переадресуется сразу и метод запроса отличен от HEAD.
В лог переадрессаций будет добавлена запись, если установить INI-опцию http.log.redirect и попытка перенаправления успешно существлена.
url
URL адрес для перенаправления
params
Ассоциативный массив с параметрами запроса
session
Следует ли добавлять сессионную информацию
status
Пользовательский статус ответа
Возвращает FALSE
или выходит при успешном завершении работы с указанным кодом статуса перенаправления.
Смотрите INI-опцию
http.force_exit для пояснения термина "выходит".
Пример #1 Пример использования http_redirect()
<?php
http_redirect("relpath", array("name" => "value"), true, HTTP_REDIRECT_PERM);
?>
Результат выполнения данного примера:
HTTP/1.1 301 Moved Permanently X-Powered-By: PHP/5.2.2 Content-Type: text/html Location: http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc Redirecting to <a href="http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc">http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc</a>.