![自定义 401 页面 - 尝试使用 ErrorDocument 处理请求时遇到 401 授权要求错误](https://linux22.com/image/802129/%E8%87%AA%E5%AE%9A%E4%B9%89%20401%20%E9%A1%B5%E9%9D%A2%20-%20%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20ErrorDocument%20%E5%A4%84%E7%90%86%E8%AF%B7%E6%B1%82%E6%97%B6%E9%81%87%E5%88%B0%20401%20%E6%8E%88%E6%9D%83%E8%A6%81%E6%B1%82%E9%94%99%E8%AF%AF.png)
我无论如何也想不出为什么这不起作用。我有 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>