mpl*_*ner 3 authentication http-basic-authentication apache-2.2
我为目录 / 设置了基本身份验证,并想排除位置 /assets/upload,但它不起作用,我尝试了几个选项和教程。
此 Location 指令清除目录身份验证配置并禁用整个网站的基本身份验证:
<Directory "/">
AuthType Basic
AuthName "Staging"
AuthUserFile /var/.../.htpasswd
AuthGroupFile /dev/null
Require valid-user
</Directory>
<Location "/">
Order deny,allow
Allow from all
Satisfy any
</Location>
Run Code Online (Sandbox Code Playgroud)
但是,我只希望 /assets/upload 没有基本身份验证,但是如果我将 Location 的第一个参数更改为 /assets/upload,则整个页面,包括 /assets/upload 都受基本身份验证...
<Location "/assets/upload">
Order deny,allow
Allow from all
Satisfy any
</Location>
Run Code Online (Sandbox Code Playgroud)
这里可能有什么问题?
版本:Apache/2.2.16 (Debian)
恐怕您在这里似乎误解了一些 Apache 概念。<Directory>
块中的参数是完整的文件系统路径,而不是相对于服务器根目录的路径。您永远不应该真正更改<Directory />
默认块。您无需更改它即可使您的配置正常工作。
<Location>
块的参数是相对于服务器根的。因此,您只需要其中的两个块即可实现您的愿望。
<位置“/assets/upload”> 订单拒绝,允许 所有人都允许 满足任何 </位置> <位置"/"> AuthType 基本 身份验证名称“暂存” AuthUserFile /var/.../.htpasswd AuthGroupFile /dev/null 需要有效用户 </位置>
你应该<Directory />
在全局/服务器上下文中有一个块(即不在任何虚拟主机内),它应该是这样的。
<目录 /> 选项 FollowSymLinks 允许覆盖无 命令允许,拒绝 拒绝所有人 </目录>
归档时间: |
|
查看次数: |
13467 次 |
最近记录: |