0

この前投稿した

静的 HTML から動的 PHP ページへの 301 リダイレクト

しかし、新しいアイデアがあり、これを行うべきではない理由があるかどうか疑問に思っています...

誰かが私たちのサイトのデッド ページに移動しようとした場合:

(ドメイン)/somepage.html

それは今ここに存在します:

(ドメイン)/dynamic.php?id=1

失敗し、カスタム エラー 404 ページ (/404.php) に移動します。

変数を見ると$_SERVER['REDIRECT_URL']、彼らがどこに行こうとしていたかがわかります。私の考えは、404.php ページの上部にインクルードを追加してこの値を確認し、リダイレクトするアイテムのリストにある場合は、PHP を使用して 301 を実行することです。

このようなもの...

// -- php include at top of 404.php page

switch(trim($_SERVER['REDIRECT_URL'])){
   case "/oldpage.html" : $location = "/dynamic.php?id=1"; break;
   case "/oldpage2.html" : $location = "/dynamic.php?id=2"; break;  
}

if(isset($location) && trim($location) != ''){
   header ('HTTP/1.1 301 Moved Permanently');
   header ('Location: '.$location);
   exit(0);
}

// -- end of php include

これにより、ブログ エントリなどにある Google ウェブマスター ツールで表示されるすべてのリンクを入力するための単一のポイントが得られます。

ありがとう

4

1 に答える 1

1

はい、そうです。ヘッダーを伴う301Locationは、移動されたものとして明確に識別できる要求に対する適切な応答です。

于 2009-12-16T20:53:25.010 に答える