我怎样才能赋予子目录不同的访问权限?
第一个问题是:我必须让程序员修改htaccess文件,但不能修改访问控制。
我只能访问 htaccess 指令,而不能访问 Apache 的 httpd.conf。以下是我的文件夹:
~/www/
~/beta/ -> group betatesters developers
~/dev/ -> group developers
我希望在根目录中只有一个 .htaccess(开发人员无权访问那里)。
~/.htaccess
~/htpassd
~/htgroup
。
AuthType Basic
AuthName "Password Required"
AuthUserFile /home123/user321/htpasswd
AuthGroupFile /home123/user321/htgroup
<FilesMatch "beta">
Require group betatesters developers
</FilesMatch>
<FilesMatch "dev">
Require group developers
</FilesMatch>
任何想法?
答案1
您可以在 Apache conf 中设置哪些参数可以在.htaccess
文件中更改。 http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride
在您的特定示例中,您不希望AuthConfig
设置被覆盖。您可以通过不使用指令列出 AuthConfig 来实现这一点AllowOveride
。例如。
<Directory foo>
AllowOveride Indexes <...>
</Directory>
或者明确声明AuthConfig
不可修改。
<Directory foo>
AllowOveride -AuthConfig <other options here>
</Directory>
答案2
在您声明您无权访问 httpd.conf 之后,Joshua Hoblitt 的回答仅部分适用。
如果你可以使用其他目录结构,例如
~/www
~/www/beta
~/www/dev
您可以采用 Joshua 的解决方案。