多くの Web サイトでは、ホームページへのhttp://www.yourdomain.com/index.html/のようなリンクが使用されています。問題は、Web サイトのホームページを指す外部リンクのほとんどがhttp://www.yourdomain.com/を使用しているため、Web サイトを指すリンクの重みが分散されていることです。これに気づいて内部リンクを解決したいウェブマスターは、 http://www.yourdomain.com/index.html からhttp://www.yourdomain.com/へ 301 リダイレクトを実行する必要があります。しかし、うまく扱わないと、円ステアリングの問題が発生します。
誰かがhttp://www.yourdomain.com/と入力して Web サイトにアクセスすると、ブラウザは Web サイトが存在するサーバーを見つけるのに役立ちます。では、Web サイトのサーバーはブラウザに何を表示するかをどのように決定するのでしょうか。 Web サイトサーバーのハードディスク上のサーバーをファイルとして呼び出す必要があります。
ファイルが指定されていない場合 (つまり、上記の例のようにドメイン名のみが指定されている場合)、サーバーはデフォルト ファイルと呼ばれるファイルをロードします。このファイルのファイル名は通常、index.html/index.htm/index.shtml/index.php またはdefault.asp です。
ファイル名は実際には何でも構いませんが、ほとんどの Web サーバーはデフォルトで何らかのファイル名を使用します。多くの CMS は、 http://www.yourdomain.com/とhttp://www.yourdomain.com/index.phpという 2 つの形式の Web サイト ホームページを表示するため、問題が発生します。
Web サイトのすべてのページはhttp://www.yourdomain.com/index.phpにリンクできますが、習慣により、サードパーティから提供されるほとんどのホームページ リンクはhttp://www.yourdomain.comを指します。 / 。検索エンジンがホームページの 2 つのバージョンを認識し、それらが別個のファイルであると判断すると、コンテンツの重複の問題が発生します。 Google はこの問題を賢明に解決してきましたが、Google に頼らないのが最善です。
解決策として、 http://www.yourdomain.com/index.phpから http://www.yourdomain.com/ への 301 リダイレクトを使用することが考えられます。素晴らしく聞こえますが、残念ながら大きな問題があります。サーバーはhttp://www.yourdomain.com/index.phpへのリクエストを確認し、 301 をhttp://www.yourdomain.com/にリダイレクトする必要があると判断すると、そのようにします。ただし、 http://www.yourdomain.com/ を呼び出す場合、デフォルトのファイル (index.php) を取得するにはhttp://www.yourdomain.com/index.php を呼び出す必要があり、その後、サーバーはあなたが To であることを認識します。 http://www.yourdomain.com/にリダイレクトすると、無限ループが発生します。
デフォルトのファイルリダイレクト方法
次のメソッドは、前のindex.phpの例を参照しています。自分のサーバーに適切なデフォルトのファイル名を付ける必要があります。
1.index.php の内容を別のファイルにコピーします。この例では、sitehome.php を使用します。
2. ファイルのルート ディレクトリの Apache DirectoryIndex ディレクティブを作成し、sitehome.php に設定します。このディレクティブをサーバーレベル全体で設定しないでください。設定しないと、ディレクトリ内のデフォルトファイルとしてindex.phpを必要とする他のフォルダでも問題が発生します。
3. ファイルのルート ディレクトリの .htaccess ファイルに DirectoryIndex sitehome.php を入力します。または、ディレクトリごとに個別のファイルを使用していない場合は、httpd.com ファイルに次のコードを追加します。
<ディレクトリ/your/document/root/examplesite.com/>
DirectoryIndex sitehome.php
</ディレクトリ>
4. 元のindex.phpファイルの内容を削除し、次のコード行を挿入します。
<? header("場所:http://www.example.com");?>
この設定により、index.php がディレクトリ ホームページ ファイル (つまり、デフォルトのファイル名) ではなくなります。誰かが正規 URL ( http://www.yourdomain.com/ ) を入力したときに、 sitehome.php を強制的に読み取らせます。古いリンクからのindex.phpへのリクエストは、無限ループを回避しながら、301でリダイレクトされるようになりました。
CMS を使用している場合は、上記の設定後、すべてのコンテンツ リンクが正規 URL ( http://www.yourdomain.com/ ) を指していることを確認する必要もあります。何らかの理由で CMS がhttp://www.yourdomain.com/sitehome.phpを参照し始めると、ループの問題が再び発生し、プロセス全体をやり直す必要があります。
この記事は Zhanjiang SEO http://www.wwoyy.com によって最初に公開されたものです。再版のために保存しておいてください。
(編集者:楊楊) 著者天島若文のパーソナルスペース