
HTTP 基本認証でログインしたユーザーにはディレクトリの参照を許可し、匿名ユーザーには許可しないようにしたいと思います。.htaccess を使用してこれを実現する方法はありますか?
答え1
RewriteEngine on
RewriteCond %{REMOTE_USER} =""
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule .? - [F,L]
index.foo
使用するタイプと同じ数だけ連結する必要があります。
ここでは、「ログインしたユーザー」とは、HTTP BASIC 認証を使用してログインしたユーザーを意味するものと想定しています。カスタム認証メカニズムにログインしたユーザーを意味する場合は、書き換えマップをフックする必要がありますが、おそらく労力に見合うものではありません。その時点で、index.foo
カスタム認証をチェックし、状況に応じてインデックスを送信するかどうかをすべてのディレクトリに配置します。
答え2
http://httpd.apache.org/docs/2.0/howto/htaccess.html
正確にその方法を説明します。Require パラメータに注目してください。