我无论如何也想不出为什么这不起作用。我有 2 个 apache 指令。我的整个网站都应该需要身份验证,除了每个人都可以访问的登录页面。当我这样做时,我收到以下错误:
此服务器无法验证您是否有权访问所请求的文档。您提供的凭据有误(例如密码错误),或者您的浏览器无法提供所需的凭据。
此外,尝试使用 ErrorDocument 处理请求时遇到 401 需要授权错误。
我的 Apache 配置
<VirtualHost *:80>
ServerName example.com
DocumentRoot C:/htdocs/example
<Directory "C:/htdocs/example">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthName "Example"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIOfferSSPI On
SSPIOfferBasic On
SSPIPerRequestAuth On
require valid-user
ErrorDocument 401 /login/alternate
</Directory>
<Location /login>
Allow from all
Satisfy Any
</Location>
</VirtualHost>
答案1
您需要允许/login/alternate
无需登录才能正常工作
<Location /login/alternate>
Allow from all
Satisfy Any
</Location>