有谁知道是否可以在 Apache 的 DirectoryMatch 指令中使用正则表达式捕获?我想做类似以下的事情:
<DirectoryMatch ^/home/www/(.*)>
AuthType Basic
AuthName $1
AuthUserFile /etc/apache2/svn.passwd
Require group $1 admin
</DirectoryMatch>
但到目前为止我还没有成功。
具体来说,我正在尝试为 Apache 2.0 中的服务器上的各个目录/虚拟主机创建基于组的 HTTP 身份验证。
例如,指向 /home/www/a 的站点 A 将可供 admin 组和 a 组中的所有用户使用,指向 /home/www/b 的站点 b 将可供 admin 组和 b 组中的所有用户使用,等等.我想保留基于目录名称的所有内容,以便我可以轻松地通过脚本将 htpasswd 用户添加到正确的组并尽可能自动化,但当然也欢迎其他解决问题的建议。
您可以从完全不同的角度解决该问题:启用 perl 模块,然后您可以在 httpd.conf 中包含一些 perl 脚本。然后你可以做这样的事情:
<Perl>
my @groups = qw/ foo bar baz /;
foreach ( @groups ) {
push @PerlConfig, qq| <Directory /home/www/$_> blah </Directory> |;
}
</Perl>
这样,您甚至可以从数据库中读取您的组和其他信息,或者通过简单地通配 /home/www 或其他任何您感兴趣的内容来读取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)