允许主域名和禁止子文件夹通过.htaccess访问

时间:2015-02-23 13:08:51

标签: apache .htaccess

我在.htaccess文件中尝试以下操作,禁止访问多个子目录而不使用http-auth(例如admin和vpu文件夹,实际上还有更多)。不幸的是它适用于我的开发服务器,但不适用于我的实时服务器 - 在实时服务器上,对管理员的访问权限不受限制。我想避免在子目录中放置.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 个答案:

答案 0 :(得分: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