0

私のウェブサイトでは、SEO の目的でダミーの URL を提供しています。私のリンクは以下のようなものです。

http://legacy.com/project/491/women-tops-long-red-bangalore

この URL women-tops-long-red-bangalore では、ページが読み込まれているアイテム ID(491) に基づいて、この文言はダミーです。

この目的のために、ページをリダイレクトしたいと思います。

 http://legacy.com/project/491/{any}

にリダイレクトしたい

 http://legacy.com/project/491/women-tops-long-red-bangalore

私は以下のコードを与えました

  if(isset($_GET['item_id']))
         {
           Header("HTTP/1.1 301 Moved Permanently" );
           Header("Location: http://".$_SERVER['HTTP_HOST'].$project_link);   
        }

$project_link で、以下のようなアイテム ID に基づいて文字列を返す関数を呼び出しています

 "/project/491/women-tops-long-red-bangalore" 

しかし、「ページが正しくリダイレ​​クトされていません」というエラーが表示されますが、URLが変更されています

4

1 に答える 1

3
http://legacy.com/project/491/women-tops-long-red-bangalore

パターンに一致する

http://legacy.com/project/491/{any}

次の場所にリダイレクトします。

http://legacy.com/project/491/women-tops-long-red-bangalore

これは次のパターンに一致します:

http://legacy.com/project/491/{any}

次の場所にリダイレクトします。

http://legacy.com/project/491/women-tops-long-red-bangalore

これは次のパターンに一致します:

http://legacy.com/project/491/{any}

...

その URL を強制するのではなく、ページの先頭に canonical タグを追加して、コンテンツの重複の問題を無効にします。

<link rel="canonical" href="http://legacy.com/project/491/women-tops-long-red-bangalore">

または、PHP でループを中断することもできます

if(isset($_GET['item_id']) && $_SERVER['REQUEST_URI'] != $project_link)
{
    Header("HTTP/1.1 301 Moved Permanently" );
    Header("Location: http://".$_SERVER['HTTP_HOST'].$project_link);   
}
于 2013-01-12T04:45:06.787 に答える