1

我正在使用这个 .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 | 提醒.php | changepwd.php 仅适用于授权用户组。

我会避免把 register.php | 提醒.php | changepwd.php 在一个单独的目录中,我该如何解决这个问题?

4

1 回答 1

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>

我只是想知道是否有更聪明的解决方案。

于 2012-06-14T10:52:22.103 回答