htacces 和子目录

htacces 和子目录

我怎样才能赋予子目录不同的访问权限?

第一个问题是:我必须让程序员修改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 的解决方案。

相关内容