使用.htaccess保护目录的问题

时间:2010-11-15 00:07:47

标签: .htaccess .htpasswd

我创建了一个.htaccess和.htpasswd文件,并将它们存储在我想保护的文件夹中,当我导航到该文件夹​​时,我被要求输入用户名和passowrd(存储在.htpasswd文件中)用户名和密码,我得到500内部服务器错误。我在localhost(windows)和web服务器上使用了这些文件(linux我猜)都给出了相同的结果。

这是我的.htaccess文件:

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

2 个答案:

答案 0 :(得分:3)

我怀疑你的.htpasswd文件是否真的位于服务器文件系统的根目录以及/bin/usr/home和其他人(而不是内部)文件系统的一部分提供给Web浏览器。)

根据Apache文档(12),AuthUserFile需要一个文件路径(就像你在ServerRoot中,通常是/usr/apache或类似的,并尝试从Unix shell中找到该文件)。它不能是绝对或相对的URL。相应地更正.htpasswd文件路径。

请注意,如果可能,您不应将.htpasswd文件放在public_htmlhtdocs文件夹中,因为任何配置错误都不允许未经授权访问您想要的文件保护,但也授权用户名和散列密码。

答案 1 :(得分:1)

使用绝对托管路径,例如:

/home/content/14/5267714/html/.htpasswd