【问题标题】:Handling error on clicking cancel in htaccess authentication在 htaccess 身份验证中单击取消处理错误
【发布时间】:2013-02-01 01:35:39
【问题描述】:

我已经编写了一个 .htaccess 文件,并且能够正确验证用户名和密码。但是当我在 htaccess 身份验证期间单击取消时,我收到“访问错误 - 未经授权”或服务器错误消息。

首先我不确定错误代码是什么。我尝试了以下

ErrorDocument 400 /400.html

我也尝试了错误代码 401、403、404、500,但该错误仍然存​​在。

我的 htacess 文件如下所示。我使用 标签来强制对不同的 html 文件进行身份验证。

AuthType Basic
AuthName "prompt"
AuthUserFile /.htpasswd
Require user mike 

我是否需要为我要保护的每个 html 文件放置“ErrorDocument”,或者最后一个“ErrorDocument”语句就足以满足我要保护的所有文件..?

【问题讨论】:

  • 我不太明白这里有什么问题...当用户取消身份验证并以 Unauthorised 身份进入时,你想发生什么?
  • 没有。当用户取消身份验证时,我看到错误页面..
  • 对于以“What”开头的问题,没有答案“No”。我理解你所看到的,但我不知道你想看到什么。
  • 对不起.. 我的意思是“不,他没有未经授权进入”。只是漫不经心地回答。无论如何,我只想看到一些我在 400.html 文件中输入的文本。

标签: .htaccess


【解决方案1】:

您可能忘记了两条规则。

  1. 错误页面本身必须受 .htaccess 保护。它必须是可达的。
  2. ErrorDocument 文件的路径从文档根开始计算。

如果您遵守规则,代码就可以工作(刚刚测试过)。这就是我成功的测试所涉及的内容:

文件:

/protected/.htaccess
/protected/.htpasswd
/401.php

.htaccess

ErrorDocument 401 /401.php
AuthType Basic
AuthName "My Protected Area"
AuthUserFile protected/.htpasswd
Require valid-user

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2018-09-13
    • 2016-01-01
    • 2016-06-12
    • 1970-01-01
    • 2013-06-08
    相关资源
    最近更新 更多