www.mysite.com/page.php?id=1 &标题做一个规范的重定向= AAA
更改为:www.mysite.com/1_aaa
我写了这个功能:
function canonicalRedirect($url)
{
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'GET')
{
$canonical = $url;
if (!preg_match('/'.str_replace('/','\/',$canonical).'/', $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');
header('Cache-Control: no-cache');
header("Location: $canonical");
}
}
}
而在page.php文件,我把这个代码:
canonicalRedirect($url);
从MySQL查询检索$ url变量。然而,当我尝试运行它,我得到这个错误(我使用Firefox):本网页没有正确重定向
我想到的是,网页自重定向,但我怎么能解决这个问题?由于
2012-12-15
F G
+0
你正准确地从数据库中检索哪个部分?我的意思是你的'$ url'变量包含什么?'id = 1&title = aaa'或'1_aaa'? –
+0
我的$ url变量包含1_aaa –
+0
尝试删除HTTP/1.0标题,并将301添加为位置标题的第二个参数。此外,该网址的外观如何? –