0

在我的网站中,我为 SEO 提供了一个虚拟 URL。我的链接如下所示

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

在这个 URL women-tops-long-red-bangalore 中,这个措辞是虚拟的,基于页面正在加载的项目 id(491)。在 491/{whatever you will give it will work} 之后。

为此,我想重定向页面。如果有人给

 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" 

但它显示错误“页面未正确重定向”但网址正在更改

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,而是通过在页面头部添加规范标签来否定重复内容问题:

<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 回答