apache .htaccess仅向经过身份验证的用户显示目录索引

时间:2013-01-10 22:28:18

标签: apache .htaccess authentication configuration

我的网络服务器上有这个目录结构:

web
    privatedir1
    privatedir2
    publicdir
        file1
        file2
        file3

我想使用.htaccess文件设置以下功能:

  • 用户'admin'(已通过身份验证)可以无限制地访问所有目录(包括目录索引)
  • 其他人可以下载file1,file2,file3但看不到publicdir的列表(索引)

您可以用.htaccess文件描述如何实现这一目标吗? 我知道如何允许/禁止目录索引,但我无法弄清楚如何做条件(取决于用户是否经过身份验证)

非常感谢你。

2 个答案:

答案 0 :(得分:0)

这是一个非常基本的示例,但这就是您可以做到的方式。

<Directory /srv/dev/>
        AllowOverride All
        Options +Indexes

        AuthType Basic
        AuthUserFile /srv/.htpasswd
        Require valid-user
</Directory>

<Directory /srv/dev/apps/>
        <If "%{REQUEST_URI} != '/'">
        Require all granted
        </If>
</Directory>

答案 1 :(得分:-1)

我认为您的答案可能在于此网址

htaccess allow access to specific user

&#34;您需要使用htpasswd实用程序创建要允许的用户数据库/特定用户。从那里,在您要限制的目录中的htaccess文件中,使用:&#34;

AuthUserFile /path/to/.htpasswd
AuthName "Authorization Form Title"
AuthType Basic

#Allow any valid user
require valid-user

#Allow only one user with specified username
require user username

&#34;可以在大量在线参考资料中找到更多信息,这是最先提出的信息之一:http://www.apacheweek.com/features/userauth&#34;