ホームページ >php教程 >php手册 >Apache PHP が 301 リダイレクトを完全に解決する 2 つの方法

Apache PHP が 301 リダイレクトを完全に解決する 2 つの方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:08:43941ブラウズ

幸いなことに、301 リダイレクトはこの問題を効果的に解決できます。 Moonlight Blog のこの記事で述べたように、
301 リダイレクトは検索エンジンの最適化効果を促進できます
検索エンジンの最適化の観点から見ると、301 リダイレクトは URL をリダイレクトする最も現実的な方法です。 Web サイトのドメイン名が変更されると、検索エンジンは新しい URL のみをインデックスし、同時に古いアドレスの下にあったすべての元の外部リンクを新しいアドレスに転送します。そのため、Web サイトのランキングは維持されません。 URL変更による影響はありません。同様に、301 永続リダイレクト コマンドを使用して、複数のドメイン名が Web サイトのメイン ドメインを指すようにしても、Web サイトのランキングに悪影響を与えることはありません。

301 リダイレクトの詳細については、Google で調べてください。この記事では実装方法のみを紹介します!
301リダイレクトの実装については以前に関連記事を書きましたが、この記事の解決策は比較的シンプルで、この記事で紹介した2つの方法で301リダイレクトを完全に実現できます。

方法 1: 次のコードを使用して .htaccess ファイル
を変更します:

次のコードを使用してコード をコピーします:



RewriteEngine On
RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http:// blog.jb51.net/ $1 [R=301,L]
RewriteCond %{HTTP_HOST} iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [R =301,L]
RewriteCond %{HTTP_HOST} moiya.tk$ [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
< ;/ifmodule>


このブログは 3 つのドメイン名をリダイレクトする必要があるため、キー コードは 2 文です

コードをコピーします。 コードは次のとおりです。


RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://blog .jb51.net/$1 [R= 301,L]


赤色のドメイン名はリダイレクトする必要がある古いドメイン名で、緑色のドメイン名は現在の Web サイトのドメイン名です。
方法 2: PHP リダイレクト コードを使用する
新しいindex.php ファイルを作成し、次のコードを参照して、独自のリダイレクト要件に従って簡単な変更を加えます:

コードをコピー コードは次のとおりです。


$the_host = $_SERVER['HTTP_HOST']
$request_uri = isset( $_SERVER['REQUEST_URI' ]) ? $_SERVER['REQUEST_URI'] : '';
switch ($the_host)
{
case "www.iflyhigher.tk":
case "iflyhigher .tk":
$location = "場所: http://jb51.net" . $request_uri;
break;
case "blog.iflyhigher.tk":
$location = "場所: http://blog .jb51.net" . $request_uri;
break;
case "www.moiya.tk":
case "moiya.tk":
$location = "場所: http://jb51 .net";
break;
デフォルト:
$location = "場所: http://jb51.net";
break;
}
header('HTTP/1.1 301 Moved Permanently');
header($location);
?> 1 つだけをリダイレクトする必要がある場合


コードをコピー

コードは次のとおりです。 < ?php $the_host = $_SERVER[ 'HTTP_HOST'];//入力されたドメイン名を取得します

$request_uri = isset($_SERVER['REQUEST_URI']) $_SERVER['REQUEST_URI'] : '' ;//次のリクエスト部分を判断します

if($the_host !== 'jb51.net')//jb51.net は現在のドメイン名です
{
header('HTTP/1.1 301 Moved Permanently ');//Issue 301 header
header('Location: http://jb51.net'.$request_uri);//新しいドメイン名のアドレスにジャンプします
exit()>}
?>


最後の exit() 関数は最初に記述しなかったので、http などのホームページのみをリダイレクトできることに注意してください。 //blog.iflyhigher.tk/guestbook リダイレクトできません。
最後に、リダイレクトについての詳細です
3 つのドメイン名をリダイレクトする必要があるため、リダイレクトの前に、まずこれら 3 つのドメイン名をアドオン ドメインとしてサーバーにバインドし、これら 3 つのドメイン名が 2 つのドメイン名にリダイレクトされるようにします。この方法では、このフォルダー内の .htaccess ファイルまたはindex.php ファイルを変更するだけで済みます。 .htaccess ファイルまたはindex.php ファイルがない場合は、新しいファイルを作成してください。
この記事が 301 リダイレクトを実行する必要がある友人にとって役立つことを願っています。

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