url - 短网址冲突。更喜欢项目还是项目列表?

我正在构建一个包含教程和其他内容的网站。我正在尝试找到一个好的 URL 结构。但是,我有一个冲突:

tutorials/ <-- list of all tutorials
tutorials/a-very-cool-tutorial <-- points to the very cool tutorial
tutorials/java <-- a list of tutorials tagged java
tutorials/java+soap <-- a list of tutorials tagged java and soap
tools/soap <-- soap tools
tools/wsdl-generator <-- points to the tool
resources/foo <-- resources for a foo
resources/foo+bar <!-- resource for a foo and a bar
tutorials/java?sort=newest
tutorials/php?showhidden=yes&count=30

无法自动解决差异,因此必须更改其中之一。我应该做哪一个

tutorials/show/a-very-cool-tutorial
   VS
tutorials/list/java
or list-of-tutorials or something like that?

我倾向于使用 tutorials/list/(并将 tutorials/也重定向到该目录)

最佳答案

为什么不在 URL 结构中表达文章层次结构?你可以写:

tutorials/ ← list of all tutorials
tutorials/java ← a list of java tutorials
tutorials/java/a-very-cool-tutorial ← points to the very cool tutorial

这样访问者就可以知道一个非常酷的教程是一个 Java 教程,如果你介意 SEO,这个版本也很适合。

编辑

根据您的评论,一篇文章可能有多个标签,并且您的网站有属于一个标签集的文章列表。在这种情况下,您可以选择这个概念:

tutorials/
tutorials/a-very-cool-tutorial
tags/java ← tags have a separate prefix
tags/java+soap

或者其他:

tutorials/
tutorials/a-very-cool-tutorial.html
tutorials/java/
tutorials/java+soap/ ← the trailing slash indicates that it's a listing

(你可以写第三个,可能更好也可能不好。)这取决于你的口味。

除了你选择的方案,我建议你把文章ID或发表日期放在URL中,以避免URL冲突。

tutorials/20090509/a-very-cool-tutorial ← a visitor friendly way
tutorials/928/a-very-cool-tutorial ← ID in URL like how Stack Overflow does

编辑 2

您对该问题的最新更新澄清说,除了标签之外,你们都有类似类别的东西——我的意思是教程、工具、资源。它给问题带来了不必要的复杂性。我认为将这些额外的方面也作为标签处理会更好。所以 tutorial 只是像 java 一样的另一个标签,它适用于上述所有想法。

/a-very-cool-tutorial ← article (beware of URL collision)
/java/ ← all Java posts
/tutorials+java+soap/ ← all Java related SOAP tutorials
/tags/tutorials+soap/ ← you can use an extra prefix

https://stackoverflow.com/questions/843289/

相关文章:

php - 当对短网址使用唯一的字母数字字符串时,将创建的字符串存储在数据库中还是即时编码/解码更好

php - 修改 url 更短的脚本

php - 如何使用短 URL 将用户重定向到自定义表单?

mongodb - 在分布式数据存储中生成短 URL

asp.net - IIS 和 ASP.NET 堆栈上短 URL 的设计与实现

php - fbs文章点击和网址缩短器之间的差异

android - Android 应用程序上的 Urlshortener 和 403 错误

url - 跟踪为长 URL 生成的短 URL

java - google-api-client 在 java 中创建短 URL

php - 我的站点 htaccess 需要短 URL