2017-07-17 20 views
0

に変更しようと、私は私の.htaccessファイルに次のようにありますのhtaccessファイル参照、相対

AuthType Basic 
AuthName "Secured" 
AuthUserFile ../private/passwd 
Require valid-user 
Order allow,deny 
Allow from env=unauthenticated 
Satisfy any 

error.logからの問題は、Apacheがオープンパスワードファイルができませんでした」と言っているということです:/ etc/apache2/passwd " - これは明らかに私のApacheのルートです。

代わりに、.htaccessファイルへの相対参照をどのように指定するのですか?

これは.htaccessファイルでのみ可能でしょうか?

もしそうなら、質問#2に答えることで解決策がはるかにポータブルになります。

答えて

1

ドク:AuthUserFile

AuthUserFileディレクティブは、ユーザ認証のためのユーザとパスワードのリストを含むテキストファイルの名前を設定します。 File-pathはユーザーファイルへのパスです。 絶対値でない場合は、ServerRootとの相対値として扱われます。

だから私は、サーバーのルートが/etc/apache2/にので、あなたの相対URLであることを前提としています./passwdはルートからの相対なり、あなたのhtaccessファイルがであるないところ。したがって、htaccessをどこに置いても、移植性があり相対的なものにすることはできません。

また、ドキュメントも書かれています:

セキュリティが

がAuthUserFileは、ウェブサーバのドキュメントツリーの外側に保管されていることを確認してください。それを保護するディレクトリに置かないでください。そうしないと、クライアントがAuthUserFileをダウンロードできる可能性があります。

パスワードファイルは、コンテンツを提供するのと同じ場所に保管することをお勧めします。

+0

絶対パスが難しいと思われる場合でも、この説明のためにパスを '../ private 'に変更しました。 –

関連する問題