我想從這個網址PHP規範重定向
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):本網頁沒有正確重定向
我想到的是,網頁自重定向,但我怎麼能解決這個問題?由於
你正準確地從數據庫中檢索哪個部分?我的意思是你的'$ url'變量包含什麼?'id = 1&title = aaa'或'1_aaa'? – brezanac
我的$ url變量包含1_aaa –
嘗試刪除HTTP/1.0標題,並將301添加爲位置標題的第二個參數。此外,該網址的外觀如何? –