1. 创建带有空格和非法字符的友好URL 2. 查询数据库
假设你正在构建一个医疗网站,其中包含具有类别和可选子类别的文章(1对多)。 (可以使用任何示例,但医学领域有很多长单词)
例如类别/子/文章结构:
1. 你的一般健康(类别) - 自然健康(子类别) - 你身体的免疫系统及其需要帮助的原因。(文章) - 植物和草药真的是解决方案吗? - 我应该吃强化食品吗? - 银杏草药 - 什么是银杏草药? - 健康饮食 - 每天喝10杯咖啡好吗? - 有机蔬菜值得购买吗? - 汉堡王®邪恶吗? - “法式咖啡馆”或美式咖啡更健康吗?
2. 疾病与状况(类别) - 自身免疫性疾病(子类别) - 某种疾病是人类的头号杀手 - 如何获得帮助 - 遗传条件 - 在怀孕前预防脊柱裂。 - 你是否有长寿的倾向?
3. Dr. FooBar的个人建议(类别) - 我对草药医学和自然疗法的看法(文章-无子类别) - 为什么你应该关心自己的健康? - 吃得好,饮食均衡是可能的。 - 无血手术已经成熟了吗?
在这样的结构中,如果你使用 / {类别} / {子类别} / {文章标题},你将会有一些非常长的URL。此外,还有许多非法字符,例如#!?'é"等。
所以问题是:
- 您会如何处理非法字符和空格?(优缺点是什么?)
- 您会从数据库中获取这个内容吗?
- 换句话说,您会信任数据库来查找该项,传递标题,还是在代码中提取所有标题并查找键以获取要传递给数据库的键(两次调用数据库)?
注意:我总是看到漂亮的例子,比如/products/beverages/Short-Product-Name/,那么如何处理一些丑陋的例子呢 ^_^