プロが教えるわが家の防犯対策術!

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

A 回答 (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=lan …
と、qパラメータの文字コードがシフトJISでエンコードされている事を指定する、ieパラメータ(ie=sjis)が入っているURLを書いて下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/06/03 14:50
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/06/03 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!