在我的网站上,我提供了一个用于搜索引擎优化目的的虚拟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"
但显示错误“页面未正确重定向”但网址正在更改
答案 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);
}