誰かがディレクトリ内の PHP スクリプトを要求するたびに Apache サーバーで呼び出されるラッパー/ハンドラーを作成しようとしています。そうすれば、ディレクトリ全体に対してユーザーを承認したり、ディレクトリが呼び出されたときに呼び出される他のものを書いたりすることができます。
これは私が思いついた最高の構成です...
<Directory "/srv/http/INNOV/PUBLIC_HTML">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
次に、/srv/http/INNOV/PUBLIC_HTML/kb/ に、この .htaccess ファイルがあります...
Options -Indexes
AddHandler auth_handler .php
Action auth_handler ../auth_handler.php
次に、 /srv/http/INNOV/PUBLIC_HTML/kb/auth_handler.php は次のとおりです...
<?php
$FILE = $_SERVER['PATH_TRANSLATED'];
echo $FILE;
?>
アクセスログ:
- - [02/Dec/2010:17:43:15 -0500] "GET /kb/index.php HTTP/1.1" 400 590
エラーログ:
[Thu Dec 02 17:50:19 2010] [error] [client XXX.XXX.XXX.XXX] Invalid URI in request GET /kb/ HTTP/1.1
ブラウザを確認しましたが、適切なリクエストを行っているようです。