htaccess允许访问3个文件

时间:2012-06-07 10:38:10

标签: apache .htaccess

我正在使用这个.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在一个单独的目录中,我该如何解决这个问题?

1 个答案:

答案 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>

我只是想知道是否有更智能的解决方案。