我正在开发一个PHP网站,目前我的链接是facebook-ish风格,就像这样
me.com/profile.php?id=123
我正在考虑转向搜索引擎更友好的东西(比如stackoverflow),例如:
me.com/john-adams
但是,如何区分具有相同名称的两个用户 - 或者更准确地说,stackoverflow如何区分具有相同标题的两个问题?我在考虑做类似的事情
me.com/john-adams-123
并解析网址.
还有其他建议吗?
Stackoverflow做了类似于你的me.com/john-adams-123
选择,除了更像me.com/123/john-adams
是john-adams部分实际上没有编程意义的地方.您提出的方式略好一些,因为无语义内容的数字ID在URL中更靠右.
我要做的是在用户表中存储一个独特的slug(这些SEO友好的URL组件通常称为slugs),并在需要时添加数字以获得唯一的.
在堆栈溢出的情况下,它是
http://stackoverflow.com/questions/975240/using-seo-friendly-links http://stackoverflow.com/questions <- Constant prefix /975240 <- Unique question id using-seo-friendly-links <- Any text at all, defaults to title of question.
另一方面,Facebook决定让每个人都选择一个唯一的ID.然后他们将把它用作个人资料页面.像http://facebook.com/p/username/这样的东西.他们正在解决用户之间的唯一性问题,只需要它是用户选择的一些字符串,这在所有现有用户中是唯一的.