我最喜欢的类别(和标签)URL模式:
http://mysite.com/articles/brains+zombies+legs+frogs
+
符号对于标签非常友好,也有利于蜘蛛(和SEO)。使用类别的文本对于蜘蛛和人类来说都很重要,因为它具有意义。
至于SQL,我建议对于任何带有类别或标签的内容使用2个表:
Categories (id, name, description)
CategoryRelationships (catID, thingID)
对于任何给定的事物,您可以通过CategoryRelationships将类别与事物连接起来。例如:
SELECT * FROM Things t
JOIN CategoryRelationships ON thingID = t.ID
JOIN Categories c ON catID = c.CatID
结果将是一个Things及其类别的列表,其中每个类别只有一个定义,并通过关系表提供一堆类别链接。
至于面包屑导航,它们是稍微不同的问题。面包屑导航可以:
- 提供站点层次结构的导航
- 帮助用户重新跟踪他们的步骤
根据你所针对的面包屑类型,你需要采取不同的方法。对于简单的站点层次结构面包屑,您可以简单地解析URL并foreach遍历一组段:
http://mysite.com/people/zombies/brains/brains
解析URI将会得到以下结果:
people, zombies, brains, brains
为每个部分生成链接。