URL设计:http://domain/app/document123/edit 或http://domain/app/edit/document123?

URL设计:http://domain/app/document123/edit 或http://domain/app/edit/document123?,url,seo,friendly-url,Url,Seo,Friendly Url,假设我有一个应用程序,在该应用程序中我需要查看和编辑文档。我在考虑这个URL设计 要调出ID为x123的文档的默认视图,请执行以下操作: 要编辑同一文档,请执行以下操作: 删除 这更多是因为我从OO的角度将文档视为对象,例如object.Action。这是件坏事吗?我会遇到麻烦吗?i、 e.s 2和s 3是否最好如下所示 一, 二, resource.actionid让我感觉更自然。。。所以URL应该是: http://domain/app/documents/delete/x123 reso

假设我有一个应用程序,在该应用程序中我需要查看和编辑文档。我在考虑这个URL设计

要调出ID为x123的文档的默认视图,请执行以下操作:

要编辑同一文档,请执行以下操作:

删除

这更多是因为我从OO的角度将文档视为对象,例如object.Action。这是件坏事吗?我会遇到麻烦吗?i、 e.s 2和s 3是否最好如下所示

一,

二,

resource.actionid让我感觉更自然。。。所以URL应该是:

http://domain/app/documents/delete/x123
resource.actionid让我感觉更自然。。。所以URL应该是:

http://domain/app/documents/delete/x123
我喜欢偏好

以livejournal为例:

抱歉jwz现在当人们谷歌你这将出现

大约:

或Twitter API:

user/lists.format

对我来说,URL目录从一般到具体。好的,我在stackoverflow.com。现在我把范围缩小到用户。现在我选择了一个特定的用户。现在我在看他的活动

或者我想访问twitter api。现在我想转移到一个特定的用户。现在我要他们的名单

所以我认为你的直觉是好的,它与其他Intertube所做的一样摇摆不定

我喜欢偏好

以livejournal为例:

抱歉jwz现在当人们谷歌你这将出现

大约:

或Twitter API:

user/lists.format

对我来说,URL目录从一般到具体。好的,我在stackoverflow.com。现在我把范围缩小到用户。现在我选择了一个特定的用户。现在我在看他的活动

或者我想访问twitter api。现在我想转移到一个特定的用户。现在我要他们的名单


所以我认为你的直觉是好的,它与其他Intertube所做的一样摇摆不定

正如qwerty所说,我喜欢Resource->Action->ID的概念,但这两个概念都有一些更具语义的东西要说

如果您在公司的example.com上查看此url以查找虚构的表单生成器:

http://example.com/form/view/1
您很可能会将其分解为:

1) Use the Form Module
2) Use the View Module (or pass it as an action)
3) Pass the ID 1 to the module
我认为这个URL使它看起来像是通过Form::View模块传递数字1,然后将数据输出

现在,如果你看另一个想象的形式生成器:

http://example.com/form/1/view
你可以把它打破成这样

1) Use the Form Module
2) Open up the data for ID 1
3) Preform the action 'view' on the ID 1
我认为这个URL使它看起来像是您正在打开ID 1的数据,并对其进行预处理和操作


我认为两者都是同样有效的,主要是在语义上。

正如qwerty所说,我喜欢Resource->Action->ID的概念,但这两个概念都有更语义的含义

如果您在公司的example.com上查看此url以查找虚构的表单生成器:

http://example.com/form/view/1
您很可能会将其分解为:

1) Use the Form Module
2) Use the View Module (or pass it as an action)
3) Pass the ID 1 to the module
我认为这个URL使它看起来像是通过Form::View模块传递数字1,然后将数据输出

现在,如果你看另一个想象的形式生成器:

http://example.com/form/1/view
你可以把它打破成这样

1) Use the Form Module
2) Open up the data for ID 1
3) Preform the action 'view' on the ID 1
我认为这个URL使它看起来像是您正在打开ID 1的数据,并对其进行预处理和操作


我认为这两种方法都同样有效,主要是在语义上。

可以肯定,无论哪种方法,你都不会遇到麻烦,它可能会影响其他人如何对你的URL进行排序和分组。从搜索引擎优化的角度来看,我猜引擎大多不会按路径的最长公共前缀对URL进行分组,而是按主机名进行分组,仅此而已。但如果是这样,问题是您希望document-x123的结果分组为最相似的结果,还是希望edit的结果分组为最相似的结果。我敢肯定这是document-x123。我敢肯定你不会遇到任何麻烦,它可能会影响其他人如何对你的URL进行排序和分组。从搜索引擎优化的角度来看,我猜引擎大多不会按路径的最长公共前缀对URL进行分组,而是按主机名进行分组,仅此而已。但如果是这样,问题是您希望document-x123的结果分组为最相似的结果,还是希望edit的结果分组为最相似的结果。我很确定这是文件x123。