可能重复:
Best practices for URL with space and special characters
我正在尝试制作“漂亮”的网址,我想知道人们如何处理空白空间,例如,如果我正在创建一个带有标题的新论坛帖子:
awesome thread title
我想用-
符号替换空格,所以我应该得到类似的内容:
http://website.com/forum/thread/awesome-thread-title
现在它似乎正在工作,但如果用户写了
我应该怎么做 some-title
这会在从数据库中获取记录时破坏我的代码,因为我会将-
符号替换为空格,而数据库中的行名实际上会-
,因此我找不到任何内容。
我可以举出更多例子......
答案 0 :(得分:2)
您不应该依赖网址的标题部分来查找数据库中的元素。在前面添加一些ID并忽略标题。查看您当前在stackoverflow中查看的页面的URL ...
答案 1 :(得分:1)
请勿尝试将 slug 反向工程到数据库中的实际标题进行搜索。当用户创建新帖子时,从标题中形成一个slug(“Awesome thread title” - > awesome-thread-title
),确保它在数据库中是唯一的,并且将其保存在数据库中
答案 2 :(得分:1)
通常你也会将“漂亮”的URL片段存储在数据库中并将其用作唯一索引,因为正如你所注意到的那样,“美化”是不可逆转的。