Htaccess重写用户配置文件和可能的冲突

时间:2012-09-13 22:53:41

标签: php .htaccess mod-rewrite

我需要问一些关于htaccess重定向的问题。我知道有很多关于htaccess,重写和漂亮的个人资料网址的问题,但我从来没有找到我的问题的真实答案,我希望我能在你的帮助下找到。

如你所知,那个漂亮的网址规则就像将“mydomain.com/profile.php?username=myuser”更改为“mydomain.com/myuser”一样。

但是我要说我的登录网址有重写规则:www.mydomain.com/login

这意味着如果用户尝试使用与“登录”完全相同的用户名,您怎么能在重写时处理可能的冲突?

实际上可能的解决方案可能是最小字符限制,例如最少6个字符,但它看起来并不优雅,因为你没有选择使用超过6个字符,如“/ resetpassword”。

当用户选择用户名时,可能会出现“禁止使用的”字样控制方式,但是您需要预见到不应使用的所有可能性。

许多大型网站都使用这种重写方法。特别是Facebook同时对页面和用户使用“/ username”类规则。

无论如何,如果有人拥有这种网址重定向/重写规则背后的魔力,请帮我解决这个问题:)

由于

P.S。 :我知道还有另一种解决方案,比如“/ user / username”,但现在直接指向基本网址并缩短完整网址越来越受欢迎,我只需要了解其中的可能性。

2 个答案:

答案 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。实际上很容易进入。