ホームページ >バックエンド開発 >PHPチュートリアル >PHP でのリダイレクト チュートリアル

PHP でのリダイレクト チュートリアル

王林
王林オリジナル
2023-09-01 17:53:051515ブラウズ

Redirect を使用すると、クライアント ブラウザを別の URL にリダイレクトできます。ドメインの切り替え、サイト構造の変更、または HTTPS への切り替え時に使用できます。

この記事では、PHP を使用して別のページにリダイレクトする方法を説明します。 PHP リダイレクトがどのように機能するかを正確に説明し、舞台裏で何が起こっているかを示します。

無料のオンライン コースで PHP を学習しましょう

PHP を学習したい場合は、PHP の基礎に関する無料のオンライン コースをチェックしてください。

基本的なリダイレクトはどのように機能しますか?

PHP リダイレクトの詳細に入る前に、HTTP リダイレクトが実際にどのように機能するかを簡単に見てみましょう。下の写真を見てください。

PHP でのリダイレクト チュートリアル

上のスクリーンショットで何が起こっているのか理解しましょう:

  • クライアントのブラウザはサーバーに特定のページを要求します。上の例では、クライアントは index.php ファイルのコンテンツをリクエストしました。
  • サーバーは、index.php ファイルのリクエストを受信し、ファイルが利用できなくなったか、別の場所に移動されたこと、および新しいファイルを探す必要があることをクライアントに通知したいと考えています。ファイル: new_index.php。 PHP。サーバーは、新しい URL と 301 または 302 HTTP コードを含む Location ヘッダーを送信します。これらはリダイレクトに使用される HTTP コードです。
  • クライアント ブラウザは 301 または 302 コードを検出すると、コンテンツを取得するには新しい URL に対して別のリクエストを行う必要があることを認識します。上記の例では、new_index.php ファイルを取得するリクエストが行われます。

  • 最後に、サーバーは新しい URL のコンテンツを送信します。

これは、基本的な HTTP リダイレクトの仕組みです。次のセクションでは、PHP リダイレクトがどのように機能するかについて説明します。

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 関数を使用する前にスペースを送信した場合でも発生する可能性があります。

###結論は###

この記事では、PHP プログラミングの重要な機能の 1 つであるリダイレクトについて説明しました。まず、HTTP リダイレクトの基本を見て、それが PHP でどのように機能するかを示しました。

CodeCanyon の最高の PHP スクリプト

CodeCanyon でこれまでに作成された何千もの最高で最も役立つ PHP スクリプトを探索してください。低コストの 1 回限りの支払いで、これらの高品質 WordPress テーマの 1 つを購入し、あなたとあなたの訪問者の Web サイト体験を向上させることができます。

PHP でのリダイレクト チュートリアル

ここでは、2020 年に CodeCanyon で入手可能なベストセラーおよび今後の PHP スクリプトをいくつか紹介します。

  • PHP でのリダイレクト チュートリアル

  • PHP でのリダイレクト チュートリアル

  • PHP でのリダイレクト チュートリアル

  • PHP でのリダイレクト チュートリアル

  • PHP でのリダイレクト チュートリアル

  • 以上がPHP でのリダイレクト チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。