我在想我应该如何写我的网址.我想要他们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位数字)或任何变体(例如媒体/ The -Title-OF-Media的MediaId).
我想要一个mediaId吗?我认为它可以加快数据库查询,但如果我正在验证它的用户名(所以不允许使用mysite.com/deceptiveUserName/media/mediaId/title)只是使用WHERE userid = expectedUserId可能是一个发际线效率低于使用主键查询?同样使用mediaId允许标题不是唯一的,但允许用户懒洋洋地不给所有内容一个独特的标题是一个坏主意吗?如果我允许懒惰,用户可以查看之前和之后的网址,并认为它们是由于标题的名称.或者很难在链接列表中找到链接?
-编辑-
这个怎么样.mysite.com/username/media/mediaId/title.如果标题恰好改变,我可以更新URL而不是中断链接bc mediaId仍然是相同的.
拥有子域可能会使SSL和cookie等问题复杂化.尽可能避免使用它们.
如果可以的话,始终提供主键.
不要过度设计这个.搜索引擎优化来自于结构良好且相关的内容,而不是带有URL操作的恶作剧.