我用htaccess和htpasswd保护html文件。当我尝试访问它时,在放入用户和密码后,而不是加载“index.html”文件,我得到“500 - 内部服务器错误”
AuthName "Restricted Area"
AuthType Basic
AuthUserFile home/folder/index.html/.htpasswd
AuthGroupFile /dev/null
require valid-user
有什么建议吗? 也许托管服务的东西?
答案 0 :(得分:5)
首先,请查阅错误日志(通常位于/var/log/apache2/error.log
)以查看错误的确切原因。
如果您无权访问它,请检查以下内容:
AuthUserFile
是否正确?它似乎缺少一个斜杠,目录很不寻常。我会怀疑AuthUserFile /home/webuser/sitefolder/.htpasswd
。AuthGroupFile None
,而不是将apache指向读取/dev/null
。将/dev/null
视为无底垃圾箱。从那里获取任何东西都不容易,并且可能是服务器尝试失败的原因。Require valid-user
。它需要是大都会。总结一下:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/webuser/sitefolder/.htpasswd
AuthGroupFile None
Require valid-user
有关详细信息,我建议http://httpd.apache.org/docs/。
答案 1 :(得分:0)
我知道这个问题有点旧,但对于那些努力寻找答案的人,请确保AuthUserFile的路径正确,并且.htpasswd文件的访问权限设置为0655.
与.htaccess文件关联的用户正在读取该文件。如果该用户无法执行它(即,如果它设置为644等),则服务器无法读取该文件以对其进行身份验证,并且您收到权限错误,即错误500.
答案 2 :(得分:0)
现在这个问题已经老了仍然,但是我想我也会参与其中,因为我找不到最终适合我的解决方案。此外, 仍未得到答复。
我的密码.htaccess也出现了500错误,根据错误日志,这是由于“AuthName需要一个参数”问题。经过太长时间的冲击我的头后,我终于注意到我在AuthName周围有“卷曲”引号,而不是正确的直引号。我取代了这些,相信我已经解决了我的问题。
仍然是,500。差点把我的笔记本电脑扔出窗外。此时我的代码看起来像这样:
# PW PROTECT INT DIRECTORY
AuthType Basic
AuthName "Login"
AuthUserFile /home/mywebsite/mywebsite.com/reports/int/.htpasswd
require valid-user
直到星期天之后的六种方式,作为一个绝望的冰雹玛丽,我删除了我努力包含在文件顶部的评论(必须包括那些评论)。做到了,500解决了。最后。
我无法说出为什么在错误日志中将其解析为AuthName问题,但我认为我的问题都归结为尝试通过不太理想的“纯文本”编辑器复制/粘贴代码(在这种情况下,Apple的TextEdit,也负责那些可爱的卷曲引号,甚至以纯文本模式呈现)。这是一个我不会重复的错误。
我不知道“#”哈希字符在TextEdit中是否有点傻,或者如果第1行是注释的某些问题,相当于一个空行(在任何地方都看不到),但删除了注释行做到了(如果有人知道为什么,我很乐意听到它)。