ホームページ  >  記事  >  バックエンド開発  >  php はどのように 301 リダイレクトを返すのでしょうか?

php はどのように 301 リダイレクトを返すのでしょうか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-01 11:24:003428ブラウズ

php は 301 リダイレクト メソッドを返します: 1. php の通常の一時的なジャンプ メソッド、コードは [header("Location:your_dest_url")]; 2. php 301 ジャンプを実装する前にステータス コードを設定します、コードは [HTTP/1.1 301 移動済み] です。

php はどのように 301 リダイレクトを返すのでしょうか?

301 リダイレクトを返す php メソッド:

1.php での通常の一時ジャンプ使用:

header("Location:your_dest_url");

返されたステータス コードは 302

2 です。php 301 ジャンプを実装したい場合は、次のようにステータス コードを設定する必要があります:

header( "HTTP/1.1 301 Moved Permanently" ) ; 
header("Location:your_dest_url");

注: 30* のリターン ステータス コードの違い

301、302 はどちらも HTTP ステータス コードであり、どちらも特定の URL が転送されたことを表します。違いは :

  • 301 リダイレクト: 301 は永続的に移動されたことを表します、

  • #302 リダイレクト: 302 は一時的に移動されたことを表します、

利点は何ですかそれともこれら 2 つの転送を使用する際に問題がありますか?

  • 301 リダイレクトは、Web ページのアドレス変更後に検索エンジンに優しくするための最良の方法です。一時的な移動でない限り、リダイレクトには 301 を使用することをお勧めします。

  • 302 リダイレクトは一時的な転送です。

上記の方法を使用して、

php 301 リダイレクトを実現し、url の永続的なリダイレクトを作成します。

例:

<?php
$the_host = $_SERVER[&#39;HTTP_HOST&#39;];//取得当前域名
$request_uri = isset($_SERVER[&#39;REQUEST_URI&#39;]) ? $_SERVER[&#39;REQUEST_URI&#39;] : &#39;&#39;;//判断地址后面是否有参数 
 
header(&#39;HTTP/1.1 301 Moved Permanently&#39;);//发出301头部
header(&#39;Location: http://www.jbxue.com&#39;.$request_uri);//跳转到目标

関連する学習の推奨事項:

PHP プログラミングの入門から熟練度まで

以上がphp はどのように 301 リダイレクトを返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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