HTTP 関数
PHP Manual

http_redirect

(PECL pecl_http >= 0.1.0)

http_redirectHTTP リダイレクトを発行する

説明

void http_redirect ([ string $url [, array $params [, bool $session = FALSE [, int $status ]]]] )

指定した url にリダイレクトします。

指定した urlhttp_build_url() で展開され、 params の内容は http_build_str() で扱われます。 また、session が true の場合はセッション ID が付加されます。 HTTP レスポンスコードは、status に応じたものが設定されます。 リダイレクト定数 のいずれかを使用すると便利です。 どのような場面でどのようなレスポンスコードが返されるのかについては、 » RFC 2616 を参照ください。デフォルトでは、いちばんうまく当てはまるステータスを PHP が決定します。

RFC に準拠するため、クライアントがすぐにリダイレクトしない場合でも "Redirecting to <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"), trueHTTP_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

<a href="http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc">http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc</a>
にリダイレクトされます。

参考


HTTP 関数
PHP Manual