現在の位置: ホーム> 最新記事一覧> header()を使用してカスタムHTTPステータスコードを設定する正しい方法

header()を使用してカスタムHTTPステータスコードを設定する正しい方法

M66 2025-05-17

PHPでは、 Header()関数を使用して、RAW HTTPヘッダー情報をブラウザに送信します。通常、リダイレクト、コンテンツタイプの設定、キャッシュの制御、HTTPステータスコードおよびその他のシナリオの設定に使用されます。多くの場合、デフォルトのHTTPステータスコード(200など)で十分ですが、特定の特別なニーズの下では、HTTPステータスコードをカスタマイズする必要がある場合があります。この記事では、Header()関数を使用してカスタムHTTPステータスコードを正しく設定する方法を紹介します。

1。HTTPステータスコードとは何ですか?

HTTPステータスコードは、クライアントリクエストに応答するときにサーバーが送信した3桁のコードです。これは、リクエストの結果を表します。一般的なステータスコードは次のとおりです。

  • 200 OK:リクエストは成功しました

  • 301は永続的に移動しました:永久にリダイレクトされました

  • 404見つかりません:ページが見つかりません

  • 500内部サーバーエラー:内部サーバーエラー

さまざまなリクエストと応答をより正確に説明するために、ニーズに応じてステータスコードをカスタマイズできます。

2。header()を使用してカスタムHTTPステータスコードを設定する方法は?

Header()関数の基本的な構文は次のとおりです。

 header(string $header, bool $replace = true, int $http_response_code = 0)
  • $ヘッダー:HTTPヘッダー情報のコンテンツを指定するために渡す必要があるパラメーター。コンテンツタイプ、リダイレクト、ステータスコードなどを設定できます。

  • $の置き換え:これはオプションのパラメーターであり、デフォルトでtrueになり、既存のヘッダー情報を置き換えるかどうかを示します。

  • $ http_response_code :これは、HTTPステータスコードを指定するオプションのパラメーターです。パラメーターが0の場合、 Header()は、提供するヘッダー値に従ってステータスコードを自動的に設定します。

カスタムHTTPステータスコードの設定

カスタムHTTPステータスコードを設定するには、 Header()関数にHTTP/1.1を指定し、その後カスタムステータスコードと説明情報を指定します。例は次のとおりです。

 <?php
// 設定 404 Not Found ステータスコード
header("HTTP/1.1 404 Not Found");
?>

リクエストの特定のステータスコードと説明を返す必要がある場合は、次のようなコードを使用することもできます。

 <?php
// 設定 403 Forbidden ステータスコード
header("HTTP/1.1 403 Forbidden");
?>

標準のHTTPステータスコードを同様の方法で設定できます。ステータスコードと説明を必要なものに変更するだけです。

3.実用的なアプリケーションの例

例1:カスタム404エラーページ

Webサイトを開発しており、ユーザーが存在しないページにアクセスしたときにカスタム404エラーページを返したいとすると、次のコードを使用できます。

 <?php
// 設定 404 Not Found ステータスコード
header("HTTP/1.1 404 Not Found");

// 意思 URL エラーページ(例えば, 'error.php')ユーザーに表示します
include('error.php');
?>

この例では、ユーザーが存在しないページにアクセスすると、サーバーは404ステータスコードを返し、 Error.phpページを表示します。

例2:別のページにリダイレクトします

ページにアクセスした直後にユーザーを別のURLにリダイレクトする場合は、次のコードを使用できます。

 <?php
// 設定 301 永久重定向ステータスコード
header("HTTP/1.1 301 Moved Permanently");

// 設定新的重定向 URL
header("Location: https://m66.net/newpage");
exit;
?>

このコードは、ユーザーをhttps://m66.net/newpageにリダイレクトし、これが永続的なリダイレクトであることをブラウザに伝えます。

例3:500エラーページをカスタマイズします

内部サーバーエラーが発生したら、500ステータスコードを設定して、次のようなカスタムエラーページを返すことができます。

 <?php
// 設定 500 Internal Server Error ステータスコード
header("HTTP/1.1 500 Internal Server Error");

// カスタムエラーページに戻ります
include('500_error.php');
?>

この例では、 500_ERROR.PHPページがユーザーに表示され、サーバーエラーが発生したことを通知します。

4。注意すべきこと

  • ヘッダー()関数は出力前に呼び出す必要があります。そうしないと、HTTPヘッダー情報は変更されません。 HTML出力またはエコー出力がある場合、 Header()関数を呼び出すと、エラーが発生します。

  • 各ページは、HTTPヘッダー情報を1回しか送信できません。 Header()を複数回呼び出すときは特に注意してください。同じステータスコードまたはヘッダー情報を繰り返し設定しないでください。

  • リダイレクトを行う場合は、 Header()の後にExitを追加することを忘れないでください。そうしないと、プログラムは後続のコードを実行し続けることで、不必要な動作が生じます。

5。概要

Header()関数はPHPの非常に強力なツールであり、HTTPステータスコードを設定し、ページリダイレクトを実行し、キャッシュを制御するなどします。Header ()関数を合理的に使用することにより、ユーザーエクスペリエンスとブラウザの動作をより適切に制御できます。開発中、特定のステータスコードをユーザーに返す必要がある場合は、Webサイトの安定性と正しさを確保するために、HTTPヘッダー情報を正しく設定することを忘れないでください。