我已經搜索了這個問題的答案已經找到一篇文章,但它並沒有給出確切的答案。這可以在這裏找到:PHP - How can I replace dashes with spaces?搜索引擎優化友好的URL和查詢數據庫php
我使用這個功能到我的博客標題轉換成搜索引擎友好的URL字符串:
//SEO Friendly URLS
public static function Seo($input){
$input = str_replace(array("'", "-"), "", $input);
$input = mb_convert_case($input, MB_CASE_LOWER, "UTF-8");
$input = preg_replace("#[^a-zA-Z0-9]+#", "-", $input);
$input = preg_replace("#(-){2,}#", "$1", $input);
$input = trim($input, "-");
return $input;
}
將轉換標題像這樣「我的博客標題」到「我的-博客-title「,這很好。不過,我通常在URL中傳遞博客ID以從數據庫中獲取博客,但我試圖保留真正友好的URL。
我知道我可以將博客ID作爲第二個查詢字符串傳遞給標題末尾,例如mysite.com/page.php?post=my-blog-post & id = 1但仍然看起來很糟糕。我將使用.htaccess刪除.php和'?'來自網址,但我不確定如何在傳遞ID時保留一個漂亮的URL。
如何在使用博客標題作爲URL查詢時查詢數據庫?
你總是可以用一個半題爲結構去(這仍然是搜索引擎友好) 示例: http://site.com/my-blog-title/234/ 其中,234是條目ID。 – 2013-02-14 03:21:03
不能讓你的網址是'example.com/id/title'例如:'example.com/1/my-blog-title'和'explode('/'$ input)' – Class 2013-02-14 03:21:16
感謝理查德,我想我沒有'甚至想到這一點。我會放棄這一點。我只是想,因爲我看到很多博客都這樣做,這樣做有一個更簡單的方法。 – 2013-02-14 03:24:04