2012-06-07 45 views
1

我使用這個的.htaccesshtaccess的允許訪問3個文件

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

這是一個有效的解決方案:

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

如果有一個聰明的解決方案,我只是在想。

相關問題