我有这个项目,有前台和后台。我的登录文件很简单,如果登录名和密码在我的数据库中,那么我就会被引导到后台的一个页面,否则我就进不去。
我可以毫无问题地登录后台,但我想保护后台和目录。
我正在尝试锁定我的后台办公室,.htaccess
这样我就无法访问后台办公室目录,但我也无法再登录。
这是我的两个文件。
内容.htaccess
:
Deny from all
Options -Indexes
AuthType Basic
AuthName "KW"
AuthUserFile /.htpasswd
Require valid-user
内容.passwd
:
root:passwordhere
答案1
AuthUserFile /.htpasswd
除了@Glorfindel 的回答(.htpasswd
vs .passwd
)中提到的“拼写错误”之外,传递给指令的参数AuthUserFile
应该是绝对文件系统路径,而不是文档根目录相对 URL 路径,就像您在这里使用的一样。
看我的答案到有关 ServerFault 的相关问题参见我的答案StackOverflow 上有一个类似的问题,其中有更详细的内容。
HTTP 身份验证错误通常是由于使用错误的密码文件文件路径引起的。
但是,您还需要删除Deny from all
第一行的 Apache 2.2 指令。默认情况下,在 Apache 2.4 上,这将覆盖该Require
指令并使用 403 Forbidden 阻止所有访问 - 禁止输入密码。
答案2
我不确定这是你帖子里的错别字还是你的系统里的错别字,但是
AuthUserFile /.htpasswd
指向一个名为 的文件.htpasswd
,并且您的帖子提到了.passwd
。