プロが教える店舗&オフィスのセキュリティ対策術

あるディレクトリにBASIC認証をかけようと思っているのですが、
ダイアログが表示されずに困っています。

[.htaccess]
AuthType Basic
AuthName "Login ID and Password"
AuthUserFile /home/アカウント/www/test/.htpasswd
AuthGroupFile /dev/null
require valid-user

[.htpasswd]
test:暗号化されたパスワード

ページを開くと返ってくるのが404Errorです。
(「このプログラムではこの Web ページを表示できません」と表示されます)
.htpasswdまでのパスは合っていると思います。
なぜダイアログが出てくれないのでしょうか・・・?

A 回答 (1件)

.htpasswdはWEBサーバの実行者がアクセスできる場所に置きましょう。


(だからといって/var/www/などには置かないこと)

apacheは、/home/アカウント/www/test/.htpasswd へのアクセス権限はあるのでしょうか?
/home/アカウントは、おそらく特定のユーザしかアクセスできないパスなので、.htpasswdファイルはapacheが参照できるエリアに置くといいと思われます。

使われているOSやWEBサーバ名が分からないのですが、設定ファイル(通常はhttpd.conf)にWEBサーバの実行権限を設定する欄があるので、その実行者(例えばnobody)で/home/アカウント/にアクセスできないなら、上記の可能性がある、ということです。
    • good
    • 0

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