URL命名规范

4
所以,这可能是一个棘手的问题。但我很好奇你们的做法是什么?
例如,假设您的网站包含以下需求(非常基本):
1. 登录页面 2. 活动信息页面(静态) 3. 该活动场所列表(动态) 4. 每个场所的信息页面
那么,您会如何设计您的URL?
通常,我会这样做:
www.domain.com/ - 登录页面 [也可以通过www.domain.com/home访问] www.domain.com/event - 活动信息页面 www.domain.com/places - 所有场所的列表 www.domain.com/places/{id} - 场所信息页面
现在,这里有一个问题。仅从语法上讲,在url中引用给定场所时,我会卡住。难道不应该更合理地选择这个吗:
www.domain.com/place/{id} 而不是 www.domain.com/places/{id}
在一些框架中,默认情况下需要遵循惯例(例如ASP.NET MVC)。是的,您可以定义自定义路由,使/place/{id}路由到PlacesController。然而,我只是试图在讨论中保持这种抽象。
话虽如此,让我们看看例如在您网站的另一页上,您有一个链接,当单击它时,将打开填充了场所信息的模态弹出窗口。您将在哪里放置该信息?
我们可以选择这样做:
www.domain.com/ajax/places/{id} 或 www.domain.com/places/{id} 并根据请求标头提供服务(也就是说,如果请求JSON,则返回JSON?)。
最后,出于SEO原因,通常我会使用与给定资源相关联的slug。所以,像这样的东西:
www.domain.com/ajax/places/{id}/london
伦敦只是为了为SEO原因添加装饰而存在。这个方法可行吗?
我问所有这些问题,因为这些是我使用已经有一段时间的做法,我想看看其他开发人员正在做什么,或者我是否在错误地处理事情。
谢谢!

抱歉,我的意思是slug应该如下:www.domain.com/places/{id}/london在AJAX请求中不需要一个slug... - StephenPAdams
1个回答

0

我喜欢在页面顶部使用URL作为面包屑导航,因此每个级别向左移动时应更加通用。

我反对SEO slug,因为它们具有误导性、烦人且不必要。

用户应该知道何时拥有持久的URL以及何时拥有动态结果。问号提供了很好的指示。话虽如此,如果您的地名是动态的,那么返回的数据仍然具有持久性,对吧?如果用户将URL修剪为www.domain.com/place/,他们可以按照指导方式浏览地点,这将非常好。

我会称之为place,因为当您着陆在一个页面上时,它是一个特定的地方,而且大多数用户甚至不会注意到这一点。我记得听说过“简洁是智慧的灵魂”,所以我认为波隆尼斯会同意去掉's'。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接