我可以通过我网站根目录下的htaccess文件密码保护目录(由于我的CMS,我必须在我的网站root中使用一个htaccess文件)。我遇到的问题是将用户分配给我想要保护的每个目录。我可以创建多个用户和密码保护多个目录,但任何用户都可以使用任何受保护的目录。例如:
example.com/section-one应该是私有的,并由用户“one”访问。
example.com/section-two应该是私有的,并由用户“two”访问。
但是,任何用户都可以使用任何一个部分,一旦用户登录到一个用户,他们就可以访问其他部分而无需输入密码。我知道这是我的htaccess文件的问题。我尝试使用但似乎无法弄清楚格式。所有在线信息都显示了如何为文件执行此操作,但目录并不容易找到帮助。
我正在使用它:
<IfModule mod_authn_file.c>
SetEnvIf Request_URI "^/section-one.*$" private
AuthName "Password Needed"
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /www/server/.htpasswd
Require user one
Order Deny,Allow
Deny from env=private
Satisfy any
</IfModule>
<IfModule mod_authn_file.c>
SetEnvIf Request_URI "^/section-two.*$" private
AuthName "Password Needed"
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /www/server/.htpasswd
Require User two
Order Deny,Allow
Deny from env=private
Satisfy any
</IfModule>
答案 0 :(得分:5)
.htaccess文件用于将特定配置指令应用于它们所在的目录。无法使用一个.htaccess文件为不同的目录指定不同的配置。您需要将访问控制放在server / vhost配置文件中,或者每个目录使用一个.htaccess。