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を使用しますが、問題は、Webサイトの管理パネル(ruleList.php)を介してアクセス許可を設定できるようにすることです。パーミッションルールは複雑になる可能性があり、それらを設定する人はサーバーのhttpd.confファイルをいじくり回す必要はありません。mod_authのもう1つの問題は、変更にはサーバーのリセットが必要になることです。
この件についてのご意見をいただければ幸いです。