exit()
リダイレクトヘッダーを送信した後、次のことを行う必要があります。
if (createfile($dbFile)) {
header('Location: http://yoursite.com/path/to/1.php', true, 302);
exit();
}
それ以外の場合、PHPは実行を継続します。の場合exit()
、クライアントは、を呼び出した直後にヘッダーを受け取りますheader()
。
次のPHPドキュメントページでheader()
もこの警告に注意する必要があります。
HTTP / 1.1では、ロケーションへの引数として絶対URIが必要です。スキーム、ホスト名、絶対パスが含まれますが、一部のクライアントは相対URIを受け入れます。通常は$_SERVER['HTTP_HOST']
、$_SERVER['PHP_SELF']
を使用dirname()
して、相対URIから絶対URIを自分で作成できます。
<?php
/* Redirect to a different page in the current directory that was requested */
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>