用户友好的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