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