2012-08-13 31 views
1

让我们假设一个包含评论的博客,用户通过很多评论来查看一篇博客文章。一个不错的URL的博客文章可能看起来像:什么是在'slug-url'中传递附加参数的正确方法

http://www.example.com/blog/174/how_to_slug_urls 

174是博客文章的数据库ID。由于要在一个页面上显示太多评论,所以评论会被拆分为多个页面。

有没有一些常见的方式来传递评论页面参数?我是否会在slu before之前,slu after之后,每发布一次还是发送它,还是有其他一些完整的方法?

的例子我能想到的:

http://www.example.com/blog/174/how_to_slug_urls/commentpage/4 
http://www.example.com/blog/174/how_to_slug_urls?commentpage=4 
http://www.example.com/blog/174/how_to_slug_urls#commentpage=4 // maybe parsing with JS? 
http://www.example.com/blog/commentpage/4/174/how_to_slug_urls 

编辑: 另一个问题:如何处理未连接到当前数据参数?例如refreshIntervall = 30s

回答

0

如果评论页面是一种资源,即某些可独立寻址的内容,显然它打算在这里,那么第一个URL就可以。尽管如此,我会将它制作成'http://www.example.com/blog/174/how_to_slug_urls/commentpages/4'。注意's'。正如在'http://stackoverflow.com/questions/11927056'。

而博客文章的评论显然是从属于博客文章本身,所以层次结构保存在该网址中,而不是您的最后一个示例。

+0

好点,你将如何处理等参数? (请参阅编辑) – 2012-08-13 01:35:34

+0

这是一个查询字符串参数,因为它不是资源,更多的是任意数量的额外数据,所以我只需简单地粘贴?refreshInterval = 30。不是“30岁”。 – 2012-08-13 01:54:40

1

在我看来,在这种情况下有两种可行的选择。

选项1:只使用查询字符串。(即http://www.example.com/blog/article/174/how_to_slug_urls?commentpage=4

请注意,我添加了article/。没有必要,但我觉得以更可读的方式呈现URI。

当您觉得评论是同一资源(博客文章)的一部分时,我建议使用查询字符串,但仅需要单独的URI以用于分页目的。

选项2:使用完全不同的URI。(即http://www.example.com/blog/comments/174/how_to_slug_urls?page=4

请注意,我仍然使用查询字符串来区分网页。

在视觉上不同的URI清楚地传达该评论是单独的资源。这可能不是你如何看待评论,但它是我如何看待他们。

比较:

http://www.example.com/blog/article/174/how_to_slug_urls?commentpage=4

http://www.example.com/blog/comments/174/how_to_slug_urls?page=4

办理其他参数:只是使用的查询字符串。

我们似乎有没有使用我们的URI的?的痴迷。有人会说他们不漂亮,我反驳说,看起来不是一切。如果你真的想避免它,下面的URI是。 。 。可以接受的,我想:

http://www.example.com/blog/article/174/how_to_slug_urls/4

http://www.example.com/blog/comments/174/how_to_slug_urls/4

相关问题