我正在使用ASP.NET MVC开发一个网站。该网站将类似于StackOverflow,因为将有用户提交的项目具有数字ID和文本标题。
现在我正在考虑如何为“项目详细信息”页面设计URL路由系统。我曾想过单独使用id(如在http://www.mysite.com/items/1234
中)或单独使用标题(如在http://www.mysite.com/items/how-to-foobarize-a-fizzbuzz
中)。但是我看到StackOverflow使用了它们(如http://www.mysite.com/items/1234/how-to-foobarize-a-fizzbuzz
中所示)。
那么哪一个是最好的方法?在URL中同时使用id和title有什么意义?这不是多余的吗?
答案 0 :(得分:3)
是的,同时拥有ID和标题(通常称为slug)是多余的,但从SEO和UX角度来看它都很酷。
但是有一个人不喜欢它在SO上的表现。我似乎无法理解为什么ID与正斜杠(/7754456/urls-for-item...
)的slug分开。对我来说,每个细分都意味着某种层次结构,因此破折号更合适/7754456-urls-for-item...
)。但那只是我。
答案 1 :(得分:1)
使用该形式的标题(通常称为“slug”)的优点基本上只是URL可读性的优点。但是,如果您没有对标题强制执行唯一性约束,那么这不一定足以识别记录。因此,当两者都使用时,ID可以在那里供服务器实际进行查找,并且slug可供人类阅读。