2012-07-27 36 views
1

在我看到的一些網站中,網址很花哨,只包含文本。沒有ids(數字)或任何東西。花式網址的工作

示例: 在計算器,樣品url到的問題是:http://stackoverflow.com/questions/3740229/how-can-i-rewrite-url-to-fancy-url 這裏,3740229是問題的id。所以使用mod重寫規則,我們可以得到問題id並將它傳遞給我們的php頁面以獲取該問題的詳細信息。 但在一些網站,這將是缺席。例如:http://anothersite.com/questions/how-can-i-rewrite-url-to-fancy-url

那麼我們如何獲取細節?那就是如何使用這個how-can-i-rewrite-url-to-fancy-url而不是問題ID來識別問題?

+1

例如''我怎麼能重寫網址到花哨網址'從url中提取出來並在表格中進行查找...... – thedom 2012-07-27 13:48:57

+1

'how-can-i-rewrite- URL到花式url'會在這種情況下 – 2012-07-27 13:49:02

+1

這就是所謂的「友好網址」數據庫中的另一個關鍵。 – 2012-07-27 13:50:20

回答

4

這通常稱爲URL slug,它確實用作其檢索內容的唯一ID。數據庫存儲該唯一值how-can-i-rewrite-url-to-fancy-url並檢索其內容,而不是基於數字ID進行檢索。

請注意,在幕後,數據庫很可能仍然具有每個記錄的唯一數字ID,但該值不會公開給最終用戶,它通過隱藏提供了一點安全性,並防止從只需增加該值即可刪除網站的所有內容。

當相應的存儲新的內容,過程標題(連字符替換空格,轉換爲小寫),並確保所創造的價值是你的數據庫是唯一的。如果不是,則需要在其上添加一個數字或隨機字符串以確保唯一性。然後在您的網址中使用該值而不是數字ID。