对于我的社交网站,我想构建一个Facebook或Twitter类似的URL重写命名约定.
以Twitter为例,它们具有标记为twitter.com/about的页面和另一个标记为twitter.com/{$username}的页面.
但是,您如何区分已经注册为“约”的用户呢?由此,我们将在用户“ about”和“ about”页面之间发生服务器冲突.
处理此问题的最佳方法是什么?
解决方法:
通常,您会看到此实现已实现,因此不可能发生冲突.例如,您可以将所有用户驻留在虚拟/ users目录或子域mysite.com/users/msilvis或users.mysite.com/msilvis中.
我不建议您使所有用户都可以通过站点的根目录访问,因为这可能会限制您添加页面.例如,假设您还没有“关于”页面,但是用户注册并称自己为“关于”;你完蛋了.
如果您仍然选择这样做,请在注册之前,尝试向您的网站发送HTTP请求到您的网站.如果您未收到404,则说明该名称已经存在.