我想允许通过 HTTP Basic 身份验证登录的用户浏览目录,但禁止匿名用户浏览目录。有没有办法使用 .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 参数就是您要查看的内容。