2010-09-27 64 views
1

我有一個新聞欄目,其中的網頁解析到URL像動態SEO標題的新聞報道

newsArticle.php?ID = 210

我想什麼做的是使用標題從數據庫創建搜索引擎友好的遊戲,比如

newsArticle /喬去到鎮

任何想法我怎麼能做到這一點?

感謝,

R.

+1

你使用什麼樣的網絡服務器?你使用一些CMS系統還是服務器腳本? – Guffa 2010-09-27 06:24:46

+0

該網站是用HTML/PHP建立的還是使用Joomla/Wordpress?你能用PHP編碼還是你在尋找插件解決方案? – 2014-03-12 10:06:04

回答

6

我建議你實際上在URL中包含的ID,標題部分之前,和佈線時忽略標題本身。所以你的網址可能會變成

/news/210/joe-goes-to-town 

這正是Stack Overflow所做的,它運行良好。這意味着標題可以更改而不會破壞鏈接。

顯然,具體細節將取決於你所使用的平臺 - 你沒有指定 - 但基本的步驟將是:

  • 當生成一個鏈接,把文章的標題,並把它轉換成一些網址友好的東西;您可能想要刪除所有標點符號,並且應該考慮重音字符等。請記住,標題不需要是唯一的,因爲您也有該標識
  • 當處理請求時, /新聞,採取路徑的下一部分,將其解析爲一個整數並加載適當的文章。
+1

另外一個好處是它使得檢索更容易,更快速 - 只需使用數字ID而不是可能的長字符串。 – Archimedix 2010-09-27 06:28:25

+0

這都是很好的信息。在linux平臺上運行php。從哪裏開始的任何鏈接都是非常有幫助的。 – Roscoeh 2010-09-27 06:40:25

+0

@Roscoeh:恐怕我對PHP沒有足夠的瞭解,在這方面給出詳細的建議。生成URL應該相當簡單,但我不知道如何在PHP中進行路由。 – 2010-09-27 06:57:04

0

假設你正在使用PHP和可以改變你的源代碼(這是很必須得到文章的標題),我會做到以下幾點:

首先,你需要有一個功能(或者可能是面向對象體系結構中的方法)在您的代碼中爲您生成URL。您將爲該函數提供文章對象或文章ID,並返回包含ID和友好標題的友好URL。
基本上function url(Article $article) => URL。

您還需要一些URL重寫規則來從URL中刪除PHP腳本。對於Apache,請參閱the mod_rewrite documentation瞭解詳情(RewriteEngine,RewriteRule,RewriteCond)。