Apache正在寻找不存在的htaccess和htpasswd文件

时间:2012-09-19 17:18:53

标签: apache .htaccess localhost .htpasswd

基于来自.htaccess文件中不再存在于DocumentRoot中的指令,遇到Apache请求身份验证和查找.htpasswd文件的问题。背景:

在我的DocumentRoot中,我之前从另一台机器(以及所有其他网站文件)复制了.htaccess和.htpasswd文件。

.htaccess内容:

AuthType Basic
AuthName "Password is required"
AuthUserFile /some/directory/that/was/on/the/other/server/not/this/one/.htpasswd
Require valid-user

这是一个问题:我将.htaccess和.htpasswd移出DocumentRoot甚至重命名了文件。 DocumentRoot中不再有.htaccess文件。

但是,当我尝试从浏览器访问localhost时,系统会提示我输入登录名和密码。

当我输入登录名和密码时(来自旧的,不在DocumentRoot .hpasswd文件中),我收到500内部服务器错误,日志显示:

[error] [client 127.0.0.1] (2)No such file or directory: Could not open password file: /some/directory/that/was/on/the/other/server/not/this/one/.htpasswd

这一直是一个难题,因为在DocumentRoot 中的任何地方都不再有.htaccess或.htpasswd文件!

尝试了几次apache重启,并尝试在DocumentRoot中使用空白的.htaccess文件。甚至在整个机器上插入AuthType Basic以查看是否遗漏了任何内容。

httpd.conf看起来很正常......如果需要,我可以发帖,但这个问题似乎足够长,因为它是:)

感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:1)

解决。不确定我是如何错过它的,但是有一个.htpasswd和.htaccess文件,它位于DocumentRoot之上的一个目录级别。删除了那些,它工作正常。不知道为什么这很重要,因为它不在DocumentRoot中,而是在它上面一层......但是,这绝对是问题。