2015-02-23 131 views
1

我在我的.htaccess文件中尝试以下操作,不使用http-auth访问多个子目录(例如admin和vpu文件夹,实际上还有更多)。不幸的是,它在我的开发服务器上工作,但不在我的实时服务器上 - 在实时服务器上,对管理员的访问等不受限制。我想避免将.htaccess文件夹放在子目录中;至少有一个我不能写信给我。 我错过了什么吗?允许主域名和不允许通过.htaccess访问子文件夹

SetEnvIfNoCase HOST ^(www\.)?my-domain\.com$ allowed 
SetEnvIfNoCase Request_URI ^(admin|vpu)$ !allowed 
AuthUserFile "/var/www/.htpasswd" 
AuthGroupFile "/var/www/.htgroup" 

AuthType Basic 
AuthName "Please enter password" 
require group admins 

Order allow,deny 
allow from env=allowed 
Satisfy any 

谢谢你的提示...

回答

1

不知道它是如何工作的localhost作为SetEnvIfNoCase Request_URI开始有了这样的斜线匹配:

SetEnvIfNoCase Request_URI ^/(admin|vpu)$ !allowed 

试试这个全代码:

SetEnvIfNoCase HOST ^(www\.)?my-domain\.com$ allowed 
SetEnvIfNoCase Request_URI ^/(admin|vpu)$ !allowed 

AuthUserFile "/var/www/.htpasswd" 
AuthGroupFile "/var/www/.htgroup" 

AuthType Basic 
AuthName "Please enter password" 
require group admins 

Satisfy any 
Order  deny,allow 
Deny from all 
allow from env=allowed 
+0

谢谢你的答案,但它仍然没有工作:( – manuxi 2015-02-23 13:20:50

+0

不工作是从来没有足够的错误报告。澄清你得到什么错误,你在浏览器中输入了什么网址 – anubhava 2015-02-23 13:26:05

+0

对不起,我输入了www.my-domain.com/admin并且没有任何密码查询... – manuxi 2015-02-23 13:28:26