【发布时间】:2012-09-23 21:08:32
【问题描述】:
我想将http://models.example.com/* 的所有请求重写为http://models.example.com/handler.php?requested_url=*
然后,handler.php 将检查我的 $_SESSION 变量以查看用户是否已登录。如果用户已登录,则 handler.php 将重定向到 requested_url。
如果用户未登录,则handler.php 将使用正则表达式来查找requested_url 和权限规则数组 (ruleList.php) 之间的匹配项。如果handler.php 看到有一条规则允许非登录用户访问requested_url,那么它将重定向到requested_url,否则它会重定向到登录页面。
我的问题是:如何区分初始请求和重定向? (以避免无限循环)。我可以附加一个像&already_processed=true 这样的变量,但这完全不安全。
我会使用 mod_auth,但问题是我希望通过网站的管理面板 (ruleList.php) 设置权限。权限规则可能很复杂,设置它们的人不必在服务器的 httpd.conf 文件中四处寻找。 mod_auth 的另一个问题是更改需要重置服务器。
我会很感激任何关于这个主题的意见!
【问题讨论】:
标签: php apache session mod-rewrite mod-auth