我在为我的web服务器上的特定文件夹设置htaccess和htpasswd时遇到了问题。我已经用尽了所有的材料和答案,目前存在的堆叠溢出,并没有得到任何地方。这是最好的指南,我找到了https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles,我一直在使用,这是我迄今所做的;
我修改了apache2.conf文件,在底部添加了以下内容;
<Directory "/var/www/resultparse/">
AllowOverride AuthConfig
</Directory>我已经在/var/www/计算所/目录中创建了.htaccess文件;
AuthUserFile /var/www/resultparse/.htpasswd
AuthName "Authorization Required"
AuthType Basic
Require admin john我使用以下命令生成了.htpasswd文件,添加了用户john和admin;
htpasswd -c /var/www/resultparse/.htpasswd john
htpasswd /var/www/resultparse/.htpasswd admin这将生成以下文件;
john:$apr1$we8lGQTG$dU2ZxXowyQSZKIQ3m2RU/.
admin:$apr1$mps05AMa$IGH9HBOWxO.CyU7SmuvND.最后,我使用sudo /etc/init.d/apache2 reload重新启动了apache服务器,以便加载新的配置。
这样做的结果是,当我访问这个文件夹中的页面时,我会收到一个登录框提示,但是如果我将用户指定为admin,并将密码指定为admin (我将其设置为什么),它会再次提示我输入用户和密码,这使我认为文件中的用户名和密码不匹配。
我原本以为这可能是文件的权限问题,所以我将.htpasswd和.htaccess文件的权限修改为777,但没有运气。
有趣的是,如果我将.htaccess的require字段修改为:Require valid-user,则不会收到提示输入密码的对话框。
此外,如果我将.htaccess中的.htaccess更改为不正确的路径,则在访问页面时会得到一个内部服务器错误,证明它找到了.htpasswd文件。
任何帮助或建议,如何调试这将是非常感谢。
发布于 2014-09-16 23:12:58
看起来,您缺少了user实体的 directive名称。
尝试将该行更改为:
Require user admin john此外,由于您允许任何一个用户登录,您也可以尝试执行以下操作:
Require valid-user发布于 2014-09-17 16:18:55
,你又开又关了吗?
我真不敢相信!重新启动浏览器并清除历史记录,然后开始工作。没有其他改变。浪费了两个多小时。
https://stackoverflow.com/questions/25879640
复制相似问题