是否有可能重寫包含#anchor標記的URL並將該#anchor標記追加到新的url?PHP重寫URL但保留錨標記
在我的新聞PHP腳本中,我檢查以確保request_uri與我存儲MySQL數據庫的數據相匹配。如果沒有,我發送301頭和頭位置到正確的URL。
$uri = $_SERVER['REQUEST_URI'];
// Grab the $sid and $url stored in the MySQL table and set it as $realurl
$realurl = "/$sid/$url/";
if ($uri != $realurl)
{
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: $realurl");
exit;
}
這對我來說很好,但問題是我最近在我的新聞頁面中添加了一個註釋php腳本。根據正在做的事情,它可以將#comments或#comment_form附加到url。
有什麼辦法可以修改上面的代碼,所以如果$ url和$ realurl不匹配 - 標題位置到$ realurl +保留任何可能存在的#anchor標籤?
問題解決了 - 不知道怎樣和爲什麼它的工作原理,但我落得這樣做改變:
if ($uri != $realurl)
到
if (stristr($uri, $realurl) === false)
如果$ URI不包含我的$ realurl,url被重寫並且#anchor標籤仍然存在。
錨標籤只能在客戶端解析,所以你可能需要JS。 – Passerby 2013-04-23 03:21:39