サーバーでは、検索エンジンの 301 と 302 は、1 つは永続的に新しいアドレスにジャンプすることであり、もう 1 つは一時的に新しいアドレスに到達したことを通知することです。では、301 の永続的なリダイレクトと 302 の一時的なリダイレクトをどのように実装すればよいでしょうか。 PHP でのリダイレクトについて、メソッドの実装手順を見てみましょう。
リダイレクトの実装原理は非常に単純です。つまり、Web サーバーは HTTP ヘッダーを訪問者に返します。HTTP ヘッダーを送信する PHP の機能は header() 関数によって実装されます。これらのステータス コード 301、302、404 は HTTP プロトコルで合意されているため、「なぜ 3001 ではなく 301 なのか?」と尋ねる必要はありません。話は十分なので、本題に戻りましょう。
PHP 301 リダイレクト:
コードは次のとおりです |
コードをコピー |
header('HTTP/1.1 301 は完全に移動されました');
ヘッダー( "場所: http://www.hzhuti.com/" );
終了();
|
または
コードは次のとおりです
コードをコピー |
|
//301 永久リダイレクト
$http_protocol = $_SERVER['SERVER_PROTOCOL'] //http プロトコルのバージョン
;
//他のプロトコルの場合、デフォルトはHTTP/1.0です
If ( 'HTTP/1.1' != $http_protocol && 'HTTP/1.0' != $http_protocol )
$http_protocol = 'HTTP/1.0';
//301ステータスコードへの応答
header("$http_protocol 301 が完全に移動されました");
//リダイレクトURLを指定します
$new_url = 'http://www.bKjia.c0m/';
header("場所:$new_url");
?>
PHP 302 リダイレクト:
コードは次のとおりです
コードをコピー |
|
header("場所: http://www.
hzhuti.com/");
終了();
| ちなみに、PHP 404 エラーも添付されています:
コードは次のとおりです
コードをコピー
|
|
header("HTTP/1.1 404 が見つかりません");
終了();
PHP 301 および 302 のリダイレクトについては以上です。Apache でそれを行う方法は次のとおりです。
| 例:
アパッチ
コードは次のとおりです
コードをコピー
|
リダイレクト 301 /old/old.htm http://www.bKjia.c0m/new.htm |
永久にリダイレクト /one http://bKjia.c0m/two
リダイレクトマッチ 301 (.*).gif$ http://www.bKjia.c0m/images/$1.jpg
2. mod_rewrite を使用して URL を書き換えます
アパッチ
コードは次のとおりです |
コードをコピー |
オプション +SymLinksをフォロー
リライトエンジンオン
RewriteCond %{HTTP_HOST} ^bKjia.c0m
RewriteRule ^(.*)$ http://www.bKjia.c0m/$1 [R=permanent,L]
|
Apache htaccess についてはここでは紹介しません。mod_rewrite で URL を書き換える方法はほぼ同じです。
|
http://www.bkjia.com/PHPjc/632708.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632708.html技術記事サーバーでは、検索エンジンの 301 と 302 は、1 つは新しいアドレスに永久にジャンプすることであり、もう 1 つは一時的に新しいアドレスに到達したことを通知することです。では、php で 301 の永久リセットを実装するにはどうすればよいですか。 .