我已将此代码放在我要保护的文件夹的.htaccess
文件中:
AuthName "restricted area"
AuthType Basic
AuthUserFile /home/#/#/#/#/#/.htpasswd
require valid-user
在同一个文件夹中,我放置了.htpasswd
:
my:pass
当我转到受保护文件夹的URL时,浏览器会一直询问我一遍又一遍的密码,即使我输入了正确的密码。
我知道AuthUserFile
中提到的根目录没问题,因为我已经找到了它:
<?php
$dir = dirname(__FILE__);
echo "<p>Full path to a .htpasswd file in this dir: " .
$dir . "/.htpasswd" . "</p>";
?>
问题出在哪里?
答案 0 :(得分:2)
问题,我发现我的网站,是htpasswd文件路径与htaccess中提供的路径不同。我花了几周时间试图找出问题所在,但是虽然您使用htpasswrd创建了用户名和传递,但该文件未与安全文件夹进行通信。你需要找出原因。也许拼写错误或在我的情况下,htpasswd被保存在一个完全不同的文件夹中,我在不同的文件夹中有2个htpasswrd。这两个人需要沟通htacccess和htpassrd,希望这可以节省你的时间我在经历了数周的不眠之夜后想出来。
答案 1 :(得分:2)
只需在要求有效用户
之间添加&#34;用户&#34;例如:
Require user markpanado
但不是:
Require markpanado
答案 2 :(得分:0)
我刚遇到这个问题。在尝试解决了最近几天后,我发现了问题的根源:
使用AuthType Basic以及从网站发送401消息时,都会触发此提示。
是否可能在每次请求时从服务器发送401 HTTP状态代码消息?您可以检查您的开发者控制台以找出答案。