我使用 Apache 添加了 HTTP 基本身份验证,以使用文件访问 PHP 应用程序.htaccess
:
AuthType Basic
AuthName "Secure Area"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
Require valid-user
除了管理面板之外,这对于大多数应用程序都可以正常工作。
因为为了访问管理面板,PHP 应用程序还通过将WWW-Authenticate
HTTP 标头发送到响应来提供自己的 HTTP 基本身份验证。
因此,当我尝试访问 PHP 应用程序安全区域时,看起来我遇到了 Apache 和 PHP 之间的 HTTP Basic 身份验证冲突。(两者都单独正常工作)
我正在考虑的解决方案是仅在请求的页面尚未发送WWW-Authenticate
.
我试过这个没有成功:
AuthType Basic
AuthName "Secure Area"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
<RequireAll>
Require valid-user
Require expr %{HTTP:WWW-Authenticate} =~ m#^$#
</RequireAll>
这导致尝试进行身份验证的请求无限循环。有可能吗?