PHPのheader()を使ってリダイレクトをさせる場合、デフォルトではHTTPステータスコードは302(Found、一時的なURL変更等)になる。
リダイレクト時のHTTPステータスコード301(Moved Permanently、恒久的なURL変更)にしたい場合、header()の第3引数に301を指定する。
header('Location: http://www.example.com/', true, 301);参考:生の HTTP ヘッダを送信する - PHP 5.3 日本語マニュアル
この第3引数でのHTTPステータスコードの指定だが、リダイレクト以外でも使えるか試してみた。
<?php header('X-Test: TEST', true, 404) ?>
テストです。
結果(HTTPレスポンスヘッダーから一部を抜粋)
HTTP/1.1 404 Not Found
X-Test: TEST
できた。
これを使えば、header()でHTTPステータスコードを指定し、なおかつ他のHTTPレスポンスヘッダーの値をセットしたい場合に、1行で処理できる。
あまりそんな機会はないか。
0 件のコメント:
コメントを投稿