首先关于我的产品列表的一些细节:
基本上将我的产品列表视为元素周期表。我没有看到任何关于使用“slug name”(或称为任何名称)将URL添加到URL的问题。我宁愿拥有一个干净的SEO友好URL。我有什么东西在这里俯瞰吗?
答案 0 :(得分:4)
以下是关于ID和slug名称的事情:
通常,URL使用ID设计:
"/products/[product-id]"
example: /products/213
但它们对于该URL中的确切内容的描述太少(我的意思是,不同的URL将具有不同的ID,但仅此一点 - 仅通过查看它 - 不会向您提供有关该特定URL的任何信息。)
Botoom专栏:仅限ID是错误的,因为它几乎没有描述性。
使用:
"/products/[product-name]"
example: /products/three-legged-walking-oven
实际上非常好,警告是:
[product-name]
映射到[product-id]
?[product-name]
)会发生很大变化,如果有人为旧标题添加书签会怎么样?使用:
"/products/[product-id]/[product-name]"
example: /products/213/three-legged-walking-oven
or
"/products/[product-id]-[product-name]"
example: /products/213-three-legged-walking-oven
在此方法中,您可以通过网址的id
部分获取产品。
为您提供两全其美:描述性网址和易于映射的网址和标题(名称)可以更改而不会使旧网址无用。
因此,如果您100%确定您永远不会更改产品名称,则可以继续使用“产品名称”。只需找到一种方法,以有效的方式将“产品名称”映射到“产品ID”。
加分:请务必查看this nice article有关使用slug名称和搜索引擎的重要性。
答案 1 :(得分:1)
由于网址末尾的内容是您的应用在数据库中查找产品所使用的内容,因此会变成数据库问题。将ID保存在网址中可让您的应用通过ID查找内容。
如果您的产品名称永远不会更改,并且您实际上可以将产品名称用作数据库中的主键(或至少在列上具有唯一索引),那么您可能只使用产品您的网址中也有名称。
通常情况下,最好将一个唯一的无意义的字段作为主键,因为在大多数情况下,产品名称之类的内容往往会发生变化,即使只是为了解决拼写错误。
答案 2 :(得分:0)
我能想到的唯一原因是使用/ products / [id] - [name],你需要知道id和[name],要使用第二个选项你只需要知道名字
这里更常见的选择是使用:/ products / [id]
我只考虑/ products / [name]如果您确信名称是:短,唯一,不包含任何特殊字符(&,?#,/,...)