我正在使用这个.htaccess
AuthName "Reserved Area"
AuthType Basic
AuthUserFile /opt/bitnami/apache2/htdocs/k4demo60/.htpasswd
AuthGroupFile /opt/bitnami/apache2/htdocs/k4demo60/.htgroup
<FilesMatch ".(jpg|php|swf|htm|html|pdf|PDF|JPG|msg|css|js|inc|gif|png)$">
Order Deny,Allow
Require group -1 1 3 4
</FilesMatch>
<FilesMatch ".(register.php|remind.php|changepwd.php)$">
Order Deny,Allow
require valid-user
</FilesMatch>
简而言之,我想为所有有效用户启用对所显示的三个文件的访问。只允许对特定用户组访问同一目录中的其他文件。
不幸的是,第一条规则的存在是为了允许访问文件:register.php | remind.php | changepwd.php仅限于授权用户组。
我会避免使用register.php | remind.php | changepwd.php在一个单独的目录中,我该如何解决这个问题?
答案 0 :(得分:0)
这是一个有效的解决方案:
<Files ~ "^(changepwd|login|register|remind|securitycode|registersuggest)\.php$">
AuthName "Reserved Area"
AuthType Basic
AuthUserFile path_to/.htpasswd
AuthGroupFile path_to/.htgroup
Order Deny,allow
Require valid-user
</Files>
<Files ~ "^(?!(changepwd|login|register|remind|securitycode|registersuggest)\.php$).*(\.php)$">
AuthName "Reserved Area"
AuthType Basic
AuthUserFile path_to/.htpasswd
AuthGroupFile path_to/.htgroup
Order Deny,allow
Require group allowed_groups
</Files>
我只是想知道是否有更智能的解决方案。