URL命名约定

时间:2010-06-10 16:31:56

标签: url naming-conventions url-routing

所以,这可能是一堆蠕虫。但我很好奇你的做法是什么?

例如,假设您的网站包含以下需求(非常基本):

  1. 目标网页
  2. 事件的信息页面(静态)
  3. 该活动的地点列表(动态)
  4. 每个地方的信息页面
  5. 话虽如此,您将如何设计网址?

    通常情况下,我会做以下事情:

    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} /伦敦

    伦敦只在那里为了SEO的原因添加装饰链接。听起来好吗?

    我问所有这些问题,因为这些是我已经使用了一段时间的做法,我只想看看其他开发人员在做什么,或者我是否正在接近错误的事情。

    谢谢!

1 个答案:

答案 0 :(得分:0)

我喜欢在页面顶部使用面包屑的URL,因此当您向左移动时,每个级别都应该更加通用。

我反对SEO slugs,因为它们具有误导性,刺激性和不必要性。

用户应该知道他们何时拥有持久性网址以及何时拥有动态结果。 '?'提供了一个很好的指示。这说,听起来虽然你的地名是动态的,但仍然存在对返回数据的持久性,对吧?如果用户将URL修剪到www.domain.com/place/会很好,他们会以引导的方式浏览地点。

我会把它称为地方,因为当你登陆页面时它是一个特定的地方,除此之外,大多数用户都不会注意到这一点。我记得听过“简洁就是机智的灵魂”,所以我认为Polonious会同意这种关系可以放弃's'。

相关问题