【发布时间】:2010-10-29 11:08:42
【问题描述】:
我在考虑如何编写我的 URL。我希望他们 A) 对用户友好 B) SEO C) 允许快速数据库查询。我拥有的信息是用户名、类别、mediaId、标题和其他我认为不必要的数据(日期、哈希等)。
我应该在域名之前还是之后使用用户名? (username.mysite.com/ vs mysite.com/username/)。
然后我需要决定是否应该使用 /media/The-Title-Of-Media 或 /media/mediaId/The-Title-Of-Media(媒体为 8 位或 16 位数字)或任何变体(例如media/The-Title-Of-Media-MediaId)。
我想要一个 mediaId 吗?我在想它可以加快数据库查询,但如果我根据用户名验证它(所以 mysite.com/deceptiveUserName/media/mediaId/title 是不允许的),只使用 WHERE userid=expectedUserId 可能是一个效率低下的细线使用主键查询?还使用 mediaId 允许标题不是唯一的,但允许用户懒惰地不给所有东西一个唯一的标题会是一个坏主意吗?如果我允许懒惰,用户可能会在之前和之后查看一个 url,并认为它们是由于标题的名称。还是很难在链接列表中找到链接?
-编辑-
这个怎么样。 mysite.com/username/media/mediaId/title。如果标题发生变化,我可以更新 URL 而不会中断链接,因为 mediaId 仍然相同。
【问题讨论】:
-
它有助于展示各种备选方案。