MVC网站上的项目的URL:使用项目ID,项目标题或两者?

时间:2011-10-13 12:54:41

标签: url-routing asp.net-mvc-routing

我正在使用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有什么意义?这不是多余的吗?

2 个答案:

答案 0 :(得分:3)

是的,同时拥有ID和标题(通常称为slug)是多余的,但从SEO和UX角度来看它都很酷。

但是有一个人不喜欢它在SO上的表现。我似乎无法理解为什么ID与正斜杠(/7754456/urls-for-item...)的slug分开。对我来说,每个细分都意味着某种层次结构,因此破折号更合适/7754456-urls-for-item...)。但那只是我。

答案 1 :(得分:1)

使用该形式的标题(通常称为“slug”)的优点基本上只是URL可读性的优点。但是,如果您没有对标题强制执行唯一性约束,那么这不一定足以识别记录。因此,当两者都使用时,ID可以在那里供服务器实际进行查找,并且slug可供人类阅读。

相关问题