我已将此代码放在要保护的文件夹的.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>";
?>
问题出在哪里?
3条答案
按热度按时间x0fgdtte1#
只需在之间添加“用户”**,需要有效用户
例如:
却不以为然:
axr492tv2#
问题是htpasswd文件的路径和htaccess中提供的路径不一样。我花了几个星期的时间试图找到问题所在,但是尽管你使用htpasswrd创建了用户名和密码,文件却没有与安全文件夹通信。你需要找出原因。也许是拼写错误,或者就像我的情况一样,htpasswd被保存在一个完全不同的文件夹中,我有2个htpasswrd在不同的文件夹中。这两个需要沟通htacccess和htpasswrd,希望这能节省你的时间我在几个星期的不眠之夜后想通了。
zbdgwd5y3#
我刚刚遇到这个问题,经过这几天的努力,我找到了问题的根源:
使用AuthType Basic时以及从网站发送401消息时,会触发此提示。
有没有可能在每次请求时服务器都会发送一条401 HTTP状态代码消息?您可以检查开发人员控制台来找出答案。