用戶友好的URL我有一個包含一個名爲歌曲與現場標題表的數據庫。 現在如果我的網址是http://www.foo.com/songs/xxx
(xxx =歌曲的標題), apache正悄悄地重定向到一個類似於:/song.php?title=xxx
的頁面。 (因爲我知道一些瀏覽器顯示%20而不是空格,而不是%20really%20user%20friendly%20ya%20know%20what%20i%20mean)。可靠與數據庫
還有一個障礙原因如果標題包含空格和下劃線(例如DJ_underscore fx
)和腳本把它轉換成DJ_underscore_fx
的SQL:
select * from songs where songs.title=xxx
無法找到它。
這裏的草圖更具體:
- 腳本讀取數據庫中的不同標題
- 所有的空間轉換爲下劃線(如
name_of the song
- >name_of_the_song
) - 將它們作爲鏈接回顯(例如,
<a href="/songs/name_of_the_song">name_of_the_song</a>
) - 用戶單擊鏈接並將r請求文檔
- apache默默重定向(例如,
/songs/name_of_the_son
- >/song.php?title=name_of_the_song
) - song.php取得具體的數據(例如
select * from songs where songs.title=name_of_the_song
)
OK你看,有一個在看起來像name_of_the_song
但name_of the song
數據庫中沒有條目。
如何管理整個讓我的網址仍然清晰,標題領域不限於一定量的值(可以有空格,下劃線,破折號,以及什麼)?
或者做類似'/ 1234/name-of-whatever /'其中'1234'是對象的ID,'name-of-whatever'被腳本忽略。 – Polynomial
@Polynomial:它甚至好多了。你應該把它作爲一個單獨的答案 – zerkms
@zerkms我想到了這個解決方案,但當我花了很多分鐘來解決我的請求,我現在想不到現在,我只是希望那裏會有其他解決方案,謝謝無論如何,我只是等待更多的答案,但得到檢查答案 – user544262772