我在.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
谢谢你提示......
答案 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