0

可能重复:
带有空格和特殊字符的 URL 的最佳实践

我正在尝试制作“漂亮”的网址,我想知道人们如何处理空白空间,例如,如果我正在创建一个带有标题的新论坛主题:

awesome thread title

我想用-符号替换空格,所以我应该得到类似的东西:

http://website.com/forum/thread/awesome-thread-title

现在它似乎正在工作,但如果用户写了我该怎么办

some-title

从数据库中获取记录时,这会破坏我的代码,因为我会将-符号替换为空白空间,而数据库中的行名实际上会有,-因此我什么也找不到。

我可以举更多的例子......

4

3 回答 3

2

您不应依赖 url 的标题部分来查找数据库中的元素。在它前面加上一些 ID 并忽略标题。查看您当前在stackoverflow中查看的页面的url...

于 2013-01-23T10:33:41.773 回答
1

不要试图将slug逆向工程到数据库中的实际标题以进行搜索。当用户创建新帖子时,从标题(“Awesome thread title”-> awesome-thread-title)形成一个 slug,确保它在数据库中是唯一的并将其保存在数据库中

于 2013-01-23T10:32:27.547 回答
1

通常,您也将“漂亮”的 URL 片段存储在数据库中并将其用作唯一索引,因为正如您所注意到的,“美化”是不可逆的。

于 2013-01-23T10:33:02.160 回答