.htaccessを使用してディレクトリを保護する問題
質問
.htaccessと.htpasswdファイルを作成し、保護したいフォルダーに保存しました。そのフォルダーに移動したときに、ユーザー名とpassowrd(.htpasswdファイルに保存)を求められ、ユーザー名を入力した後、パスワードでは、500の内部サーバーエラーが発生しました。 LocalHost(Windows)の両方でファイルを使用し、Webサーバー(Linux Iが推測している)と同じ結果と同じ結果が得られました。
これは私の.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
解決
私はあなたのことを疑います .htpasswd
ファイルは、実際にはサーバーのファイルシステムのまさにルートにあります /bin
, /usr
, /home
, 、およびその他(ファイルシステムの一部ではなく、Webブラウザーに提供されました)。
Apacheのドキュメントによると(1, 2), AuthUserFile
ファイルパスが期待されます(あたかもサーバールートにいるかのように、通常 /usr/apache
同様に、Unixシェルからファイルを見つけようとしています)。絶対的または相対的なURLにすることはできません。あなたを修正します .htpasswd
それに応じてファイルパス。
可能であれば、置くべきではないことに注意してください .htpasswd
内部のファイル public_html
また htdocs
フォルダー。構成エラーは、保護するファイルへの不正アクセスを許可するだけでなく、承認されたユーザー名とハッシュパスワードも可能にするためです。
他のヒント
絶対ホスティングパスを使用してください。
/home/content/14/5267714/html/.htpasswd
所属していません StackOverflow