Redirect を使用すると、クライアント ブラウザを別の URL にリダイレクトできます。ドメインの切り替え、サイト構造の変更、または HTTPS への切り替え時に使用できます。
この記事では、PHP を使用して別のページにリダイレクトする方法を説明します。 PHP リダイレクトがどのように機能するかを正確に説明し、舞台裏で何が起こっているかを示します。
PHP を学習したい場合は、PHP の基礎に関する無料のオンライン コースをチェックしてください。
PHP リダイレクトの詳細に入る前に、HTTP リダイレクトが実際にどのように機能するかを簡単に見てみましょう。下の写真を見てください。
上のスクリーンショットで何が起こっているのか理解しましょう:
Location
ヘッダーを送信します。これらはリダイレクトに使用される HTTP コードです。
new_index.php
ファイルを取得するリクエストが行われます。
これは、基本的な HTTP リダイレクトの仕組みです。次のセクションでは、PHP リダイレクトがどのように機能するかについて説明します。
PHP では、ユーザーをあるページから別のページにリダイレクトする場合、header()
関数を使用する必要があります。 header 関数を使用すると、生の HTTP ロケーション ヘッダーを送信できます。これにより、前のセクションで説明した実際のリダイレクトが実行されます。
header()
関数の構文を見てみましょう。
$header
: これは、使用する HTTP ヘッダー文字列です。この例では、リダイレクトに Location
ヘッダーを使用します。 $replace
: これは、ヘッダーが以前の同様のヘッダーを置き換える必要があるかどうかを示すオプションのパラメーターです。 $http_response_code
: 特定の応答コードを送信できます。 次に、次の例を見て、それらがどのように連携するかを見てみましょう。
リーリー上記のスクリプトが実行されると、クライアント ブラウザは http://www.yoursite.com/new_index.php にリダイレクトされます。バックグラウンドで、生の HTTP Location
ヘッダーを 302 ステータス コードとともに送信します。 302 ステータス コードは一時的なリダイレクトに使用されますが、永続的なリダイレクトが必要な場合は、次のコード スニペットに示すように 3 番目のパラメータに 301 ステータス コードを渡すことができます。
301 永続的なリダイレクトを使用すると、ページが利用できなくなり、新しいページに置き換えることができることを検索ボットに通知できます。
Die()
または Exit()
関数を使用するのはなぜですか? 鋭いユーザーは、上記の例で exit()
関数を使用していることに気づくでしょう。実際、ヘッダー リダイレクトの直後に exit()
または die()
関数を使用して、スクリプトの実行を停止し、望ましくない結果を回避する必要があります。
したがって、リダイレクト後には、これらの関数のいずれかを使用することを常にお勧めします。
あなたが経験豊富な PHP プログラマであれば、日々の PHP 開発のある時点でこの有名な PHP エラーに遭遇したことがあるはずです。ただし、デバッグや修正が難しいため、初心者にとってこのエラーが発生するのは非常に面倒です。ほとんどの場合、ヘッダーのリダイレクトが原因であることさえ知りません。
経験則として、スクリプト内で header()
関数を使用する場合は、その前に出力が送信されないようにする必要があります。そうしないと、PHP は「ヘッダー送信済み」エラーを報告します。これは、header 関数を使用する前にスペースを送信した場合でも発生する可能性があります。
CodeCanyon の最高の PHP スクリプト
ここでは、2020 年に CodeCanyon で入手可能なベストセラーおよび今後の PHP スクリプトをいくつか紹介します。
以上がPHP でのリダイレクト チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。