301重定向显示“页面未正确重定向”错误

时间:2013-01-12 04:40:19

标签: php seo smarty http-redirect

在我的网站上,我提供了一个用于搜索引擎优化目的的虚拟URL。我的链接如下所示

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

在这个URL中,女性上衣 - 长红色班加罗尔这个措辞是虚拟的,基于页面正在加载的项目ID(491)。在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" 

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

1 个答案:

答案 0 :(得分: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}

...

我不会强制使用该网址,而是通过向网页页首添加规范标记来否定重复的内容问题:

<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);   
}