0

我的目录根目录中有一个 .htaccess 文件,如下所示。clients.php 文件授予 htgroups 文件中不在 admins 组中的用户的访问权限。

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www......com/dts/$1 [R,L]

AuthGroupFile /usr/local/..../htgroup
AuthType Basic
Require group producers

<Files clients.php>
  Require group admins
</Files>

它要求人们进行身份验证并加入该生产者组(所有管理员也在生产者中),但它让不在管理员行的人打开 clients.php 文件。

4

1 回答 1

0

指令的顺序很重要。由于第一个要求是全局应用的,因此将使用该要求。您可以尝试切换顺序:

AuthGroupFile /usr/local/..../htgroup
AuthType Basic
<Files clients.php>
  Require group admins
</Files>
Require group producers

或将其添加为否定匹配:

AuthGroupFile /usr/local/..../htgroup
AuthType Basic
<Files clients.php>
  Require group admins
</Files>
<FilesMatch (?<!clients.php)>
  Require group producers
</FilesMatch>
于 2013-10-04T22:38:17.840 回答