301ジャンプとは、ユーザーが特定のURLにアクセスすると、サーバーが要求を別のURLに永久にリダイレクトし、ステータスコード301を返すことを意味します。 301ジャンプ操作は、PHPでシンプルで柔軟で効率的です。
PHPでは、HTTP応答ヘッダーをHeader()関数に送信し、位置フィールドをターゲットURLに設定してジャンプを達成できます。
header("Location: https://www.example.com/new-url", true, 301);
exit;
上記のコードは、指定されたURLに訪問者をリダイレクトし、301ステータスコードを返します。 2番目のパラメーターTrueは、以前にヘッダーを同じ名前に置き換えることを意味します。
別の方法は、http_response_code()を呼び出してステータスコードを最初に設定し、次に位置ヘッダーをheader()に設定することです。
http_response_code(301);
header("Location: https://www.example.com/new-url");
exit;
この書き込み方法は、ステータスコードとジャンプアドレスを分離し、ロジックをより明確にします。
次の例は、301ジャンプを実装するための完全なコードを示しています。
$url = "https://www.example.com/new-url";
// 方法1:header関数実装
header("Location: $url", true, 301);
exit;
// 方法2:http_response_codeそしてheader関数実装
http_response_code(301);
header("Location: $url");
exit;
Header()を呼び出す前に、スペース、ラインブレイク、HTMLタグなど、ページ出力はありません。それ以外の場合は、ジャンプの障害または警告を引き起こします。
// エラーの例
echo "Hello World!";
header("Location: https://www.example.com");
exit;
// 正しい例
header("Location: https://www.example.com");
exit;
http_response_code()を使用してステータスコードを設定する場合、header()を呼び出して位置ヘッダーを設定する前に実行する必要があります。場所を設定するとき、ステータスコードは自動的にデフォルトの200に変更されるためです。
// エラーの例
header("Location: https://www.example.com");
http_response_code(301);
exit;
// 正しい例
http_response_code(301);
header("Location: https://www.example.com");
exit;
PHPは301ジャンプ操作のシンプルで実用的であり、ページURL調整であろうとターミナルクロスリダイレクトであろうと、簡単に対処できます。 Header()およびhttp_response_code()を正しく機能させ、高度な出力がないようにして、ジャンプが安定して信頼できるようにするだけです。