在一个
now migrated question
关于人类可读的网址,我允许自己阐述一个我的爱好马:
当我遇到这样的网址
http://www.example.com/product/123/subpage/456.html
我一直认为,这是一个尝试创建有意义的分层URL,然而,这并不完全是分层的。我的意思是,你应该能够切掉
一次一级
. 在上面,URL有两个违反此原则的情况:
-
/product/123
是
一
表示为两个级别的信息。它将更准确地表示为
/product:123
(或您喜欢的任何分隔符)
-
/subpage
很可能不是一个实体本身(也就是说,你不能上升
一
水平起点
456.html
作为
http://www.example.com/product/123/subpage
是“没什么”)。
因此,我发现以下更为正确:
http://www.example.com/product:123/456.html
在这里,您可以一次向上导航一个级别:
-
http://www.example.com/product:123/456.html
-子页
-
http://www.example.com/product:123
-产品页面
-
http://www.example.com/
-根
遵循同样的理念,以下内容是有意义的[并提供产品列表的附加链接]:
http://www.example.com/products/123/456.html
哪里:
-
http://www.example.com/products/123/456.html
-子页
-
http://www.example.com/products/123
-产品页面
-
http://www.example.com/products
-产品目录
-
http://www.example.com/
-根
我使用这种方法的主要动机是,如果每个“路径元素”(由
/
)是自给自足的
一
,只需删除URL的最后一个元素,就可以导航到“父级”。当我想转到父目录时,这是我(有时)在文件资源管理器中所做的。遵循相同的逻辑,用户(或搜索引擎/爬虫程序)也可以这样做。我觉得挺聪明的。
另一方面
(这是问题的重要一点):虽然我无法阻止用户尝试访问他自己截取的URL,
我是否错误地断言(并且尊敬地)搜索引擎也会这样做?
也就是说,期望没有搜索引擎(或真正的:谷歌)会尝试访问是否合理?
http://www.example.com/product/123/subpage
(以上第2点)?(或者我真的只考虑了人为因素吗?)
这不是关于个人偏好的问题。这是一个技术问题,关于爬虫/索引器的期望值,以及在设计URL时应该考虑到非人工URL操作的扩展。
此外,结构的“深度”
http://www.example.com/product/123/subpage/456.html
http://stackoverflow.com/users/52162
-
-
http://stackoverflow.com/users
-
http://stackoverflow.com/
canonical URL
http://stackoverflow.com/users/52162/jensgram
http://stackoverflow.com/users/52162-jensgram