2010-06-10 160 views
3

所以,这可能是一个蠕虫的罐头。但我很好奇你的做法是什么?URL命名约定

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

  1. 着陆页
  2. 一个事件(静态)
  3. 为A的地方上市信息页面该事件(动态)
  4. 的信息页每个地方

虽这么说,你将如何设计你的网址吗?

通常情况下,我会做类似如下:

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/{/}路由到PlacesController。但是,我只是试图在讨论中保持这种抽象。

有了这样说,让我们看看例如你的网站的另一个页面上,你有一个链接,当点击时,会打开填充位置信息的模式弹出。你在哪里放置这些信息?

我们可以像这样的东西去:

www.domain.com/ajax/places/{id} OR www.domain.com/places/{id}和发球基于请求头(也就是说,如果请求JSON,返回JSON}

最后,对于搜索引擎优化的原因,通常我用一个给定的资源关联的塞所以,像这样的:。

www.domain.com/ ajax/places/{id} /伦敦

伦敦只在那里添加装饰链接的搜索引擎优化的原因。这是声音吗?

我问所有这些问题,因为这些是我一直在使用一段时间的做法,我只是想看看其他开发商都在做,或者如果我不当接近的东西。

谢谢!

+0

对不起,我的意思是蛞蝓会是这样: www.domain.com/places/{id}/london 无需在AJAX请求蛞蝓.... – StephenPAdams 2010-06-10 16:37:43

回答

0

我喜欢在页面顶部使用面包屑导航的URL,所以在向左移动时每个层次都应该更一般。

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

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

我会说这个地方,因为当你登陆一个页面时,它是一个特定的地方,除此之外,大多数用户都不会注意到这一点。我记得听说“简洁是机智的灵魂”,所以我认为Polonious会同意这条配合去掉's'。