PHPプログラムに関する各種メモ書き

PHPでHTTPのステータスコード(404 、 301など)を返す。

HTTPステータスコードとは、ブラウザがリクエストを送信したときに受け取るコードです。

(通常目にすることはありません。 firefox LiveHTTPHeaderなどで確認します。)

HTTPステータスコードの例

301 Moved Permanently
303 See Other
403 Forbidden
404 Not Found

PHPでステータス 301 Moved Permanently を返すには。

header('Status: 301 Moved Permanently');
header('Location: http://hogehoge.com');
exit;

とします。

PHPでステータス 404 Not Found を返すには。

header("HTTP/1.1 404 Not Found");
include ('404.php');
exit;

とします。

404の場合はステータスを返した後に 404.php(ファイル名は任意)というphpを実行します。

(でないと画面が真っ白になる)

404.phpの例(404.html というファイルの中身をそのまま表示する)

<?
$filename = '404.html';
$fp = fopen($filename,'r') or die("ファイル({$filename})のオープンに失敗しました");
while (!feof($fp)) {
$line = fgets($fp, 1024);
print "$line\n";
}
fclose($fp);
?>
No.746
08/18 16:27

edit