我需要问一些关于htaccess重定向的问题。我知道有很多关于htaccess,重写和漂亮的个人资料网址的问题,但我从来没有找到我的问题的真实答案,我希望我能在你的帮助下找到。
如你所知,那个漂亮的网址规则就像将“mydomain.com/profile.php?username=myuser”更改为“mydomain.com/myuser”一样。
但是我要说我的登录网址有重写规则:www.mydomain.com/login
这意味着如果用户尝试使用与“登录”完全相同的用户名,您怎么能在重写时处理可能的冲突?
实际上可能的解决方案可能是最小字符限制,例如最少6个字符,但它看起来并不优雅,因为你没有选择使用超过6个字符,如“/ resetpassword”。
当用户选择用户名时,可能会出现“禁止使用的”字样控制方式,但是您需要预见到不应使用的所有可能性。
许多大型网站都使用这种重写方法。特别是Facebook同时对页面和用户使用“/ username”类规则。
无论如何,如果有人拥有这种网址重定向/重写规则背后的魔力,请帮我解决这个问题:)
由于
P.S。 :我知道还有另一种解决方案,比如“/ user / username”,但现在直接指向基本网址并缩短完整网址越来越受欢迎,我只需要了解其中的可能性。
答案 0 :(得分:1)
为什么不在网站的根目录中有一个登录子目录,其中包含用于登录用户的相关文件?这样,你的htaccess文件中的重写规则只需要处理整个用户重定向的东西。
答案 1 :(得分:0)
您正在寻找的是“路线”。它们通常由MVC框架实现,如Zend Framework,Symfony的CakePHP。
他们基本上做的是将每个请求转发给某个index.php,而index.php反过来从$_SERVER['REQUEST_URI']
中找出哪些PHP文件应该处理请求。
我不建议PHP将重写规则放入.htaccess文件中。相反,尝试进入PHP框架。他们为你努力奋斗。
就个人而言,我使用Zend Framework。但我不会向初学者推荐新版本2。试试ZF1。实际上很容易进入。