• ベストアンサー

BASIC認証を複数設定するには?

BASIC認証を一旦認証して入ったディレクトリ内のさらに下部ディレクトリにも設定したいのです。.htaccessファイルは設置できたのですがパスワードの設定はどこで設定すれば良いのでしょうか? あるいはこのような複数設定はできませんか。どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

.htaccessのAuthUserFileで指定した場所に.htpasswdを置いて下さい。 例えば、FTPで見た時のホームページの構成が以下のようになっていた場合を例に挙げます。 /.htpasswd1 (A) /.htpasswd2 (B) /public_html/index.html /public_html/MemberOnly/index.html /public_html/MemberOnly/.htaccess (1) /public_html/MemberOnly/Special/index.html /public_html/MemberOnly/Special/.htaccess (2) (1)の.htaccessの「AuthUserFile」が(A)の.htpasswdを参照するように AuthUserFile /exports/www/user/.htpasswd1 と書いてあった場合、それを真似して(2)の.htaccessの「AuthUserFile」の行を書きます。 (2)の.htaccessでは、以下のようになるでしょう。 AuthUserFile /exports/www/user/.htpasswd2 なお、上記例では、FTPでの / (ルートディレクトリ)は、サーバーのローカルディレクトリの /exports/www/user/ に対応しています。 よく.htaccessと.htpasswdを同じ場所に置いている人を見かけますが、セキュリティ上、これは危険です。 なぜなら /public_html/MemberOnly/index.html /public_html/MemberOnly/.htaccess /public_html/MemberOnly/.htpasswd と言う置き方をしてしまうと、ブラウザで http://www.*******.ne.jp/MemberOnly/.htaccess http://www.*******.ne.jp/MemberOnly/.htpasswd とURLを打ち込めば、.htpasswdファイルを拾われてしまうからです(.htaccessを拾われてしまうのは仕方がありません。そこに置かないと機能しませんから) 以下、蛇足ですが、#1の回答者さんへ。 回答にお書きになったURLですが、見るブラウザや環境によっては、正しく表示されません。 私がこのURLを開くと、googleの検索文字の入力の所に「.htaccess?t?@?C??」と入った状態の検索結果が開き、正しく表示されません。 googleの検索結果ページのURLを書くならば http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=sjis&q=.htaccess%83t%83@%83C%83%8b と、qパラメータの文字コードがシフトJISでエンコードされている事を指定する、ieパラメータ(ie=sjis)が入っているURLを書いて下さい。

hanatare
質問者

お礼

早速のご回答ありがとうございます。 親切、丁寧でとても分かり易く助かりました。 chie65536さんのような方に こうした内容の解説書を作っていただけたら 初心者はどんなに助かるでしょうか・・・。 世間の解説書の多くは、難しすぎますよね。 思わず、よけいな事まで書いてしまいました。 本当にありがとうございました。感謝!!。

その他の回答 (1)

noname#227796
noname#227796
回答No.1
hanatare
質問者

お礼

早速のご回答ありがとうございます。 挑戦してみます。

関連するQ&A