2

Apacheが認証を要求しているという問題があり、DocumentRootに存在しなくなった.htaccessファイルからの指示に基づいて.htpasswdファイルを探しています。バックグラウンド:

私のDocumentRootでは、以前に.htaccessファイルと.htpasswdファイルを別のマシンから(他のすべてのWebサイトファイルと一緒に)コピーしていました。

.htaccessの内容:

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

キャッチは次のとおりです。DocumentRootから.htaccessと.htpasswdを移動し、ファイルの名前を変更しました。 DocumentRootに.htaccessファイルはもうありません。

しかし、ブラウザからローカルホストにアクセスしようとすると、ログインとパスワードの入力を求められます。

ログインとパスワードを(古い、DocumentRootにない.hpasswdファイルから)入力すると、500 Internal Serverエラーが発生し、ログに次のように表示されます。

[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私が何かを逃したかどうかを確認するための参照のために、マシン全体をgrepしました。

httpd.confは十分に正常に見えます...必要に応じて投稿できますが、この質問はそれなりに十分長いようです:)

あなたが提供できるどんな援助にも感謝します

4

1 に答える 1

1

解決しました。どうして見逃したのかわかりませんが、DocumentRootの1つ上のディレクトリレベルに.htpasswdファイルと.htaccessファイルがありました。それらを削除し、正常に動作します。DocumentRootではなく、その1つ上のレベルにあるため、これが重要である理由はわかりませんが、それは間違いなく問題でした。

于 2012-10-03T15:35:22.910 に答える