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 次 |
| 最近记录: |