- ベストアンサー
.htaccessの書き方とURL制限について
- http://www.abc5678.com/mihon/のフォルダに制限をかける方法として間違っている点を教えてください。
- 暗号化された.htpasswdを同じフォルダにアップしてもInternal Server Errorが発生する理由を教えてください。
- 具体的な.htaccessの書き方とURL制限について詳しく教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まず、ユーザー名とパスワードの組を書いたユーザー一覧ファイルを用意します。 ユーザー名と暗号化済みパスワードはコロンで区切り、1人1行で書きます。 例えば、ユーザー名「user」、パスワード「12345」だと、 ---- mihonpass ファイル user:$apr1$Yx2wOtlq$vWbjdIi1e9Wyv3C0nsjI2. ---- ここまで こんな風になります。 ※ハッシュ化パスワード文字列は次のページなどで生成できます。 >https://htaccess.cman.jp/explain/basic.html ※元のパスワードが同一でも、ハッシュ化した文字列は生成するたびに変わります。 このファイルを、出来れば httpアクセスできないところに置きます。 例えば、/usr/www/ フォルダに mihonpass ファイルを置いたとします。 -- そして、www.abc5678.com サーバの、/(Web公開ディレクトリ)/mihon/ ディレクトリに、以下のような .htaccess ファイルを置きます。 ---- .htaccess ここから AuthUserFile /usr/www/mihonpass AuthGroupFile /dev/null AuthName "MembersOnly" AuthType Basic require valid-user ---- ここまで これで、http://www.abc5678.com/mihon/ にアクセスしたときにダイアログが出るようになると思います。 ただ、MD5暗号化が通らない(パスワード入力で認証できない)場合、crypt暗号化による mihonpass ファイル ---- mihonpass ファイル user:UsxvDh0hP5geQ ---- ここまで (同じく user / 12345 の例) こちらで試してみてください。 ただしcrypt暗号化は先頭8文字しか見ないので、「password123」というパスワードを設定しても、「password456」や「password」という入力でも通ってしまうという欠点があるので注意です。 -- なお、ご質問にある設定では >AuthUserFile virtual/xyzc/public_html/www.abc5678.com/mihon/.htpasswd こちらが / で始まっていないのが気になります。 バーチャルホストであるなら、httpデーモンが動作する仮想マシンの、ルートディレクトリからのパスを記述するんだと思います。
お礼
大変詳細なプロ的ご回答有難うございました。!! m(_ _)m