2012-09-19 83 views
1

遇到Apache正在請求身份驗證並尋找.htpasswd文件的問題時,基於不再位於DocumentRoot中的.htaccess文件的指示信息。背景:Apache正在尋找不存在的htaccess和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文件。

但是,當我嘗試從瀏覽器訪問本地主機時,系統提示我輸入登錄名和密碼。

當我輸入登錄名和密碼(從舊的,不在位的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文件。甚至grepped整個機器參考AuthType Basic,看看我是否錯過了任何東西。

的httpd.conf看起來正常不過......我可以發佈,如果需要的,但這個問題似乎足夠長的時間,因爲它是:)

感謝您的任何幫助,您可以提供

回答

1

解決。不知道我是如何錯過它的,但在DocumentRoot的上方有一個.htpasswd和.htaccess文件。刪除這些,它工作正常。不知道爲什麼這非常重要,因爲它不在DocumentRoot中,而是在它之上的一個級別......但是,這絕對是問題所在。