0

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

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

ErrorDocument 400 /400.html

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

我的 htacess 文件看起来像这样。我使用 <files> 标签来强制对不同的 html 文件进行身份验证。

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

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

4

1 回答 1

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
于 2013-02-16T00:53:45.863 回答