htaccessの上位ディレクトリでallowをしているとベーシック認証が効かない。 | パソコンいろいろ

htaccessの上位ディレクトリでallowをしているとベーシック認証が効かない。

htaccessの上位ディレクトリでallowをしているとベーシック認証が効かない。

何のことか分かりにくいですが、htpasswdを設定してhtaccessで、ベーシック認証などを設定する場合、認証画面がブラウザ上に出ます。



ですが、下記のようなディレクトリ構造で、特定IPを許可する設定のhtaccessを、[example]ディレクトリに設定したりすると、その下位ディレクトリ([hidden])で、ベーシック認証を掛けていても認証画面が出てこず、そのまま見えてしまいます。

例えば、下記のような場合です。


閲覧IP:
192.168.0.2


ディレクトリ構成
[example]
├.htaccess

├index.html

└[hidden]
 ├.htaccess

 ├.htpasswd
 └index.html


[example]ディレクトリの.htaccess
-----
order deny,allow
deny from all
allow from 192.168.

-----


[hidden]ディレクトリの.htaccess
-----
AuthUserFile /home/…/example/hidden/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter username and password"
AuthType Basic
require valid-user

-----



それはすでにallowで閲覧するPCを許可している為なので、


[hidden]ディレクトリの.htaccess
-----
order allow,deny
deny from all

AuthUserFile /home/…/example/hidden/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter username and password"
AuthType Basic
require valid-user

-----



上記のような形で再度全て閲覧拒否を設定すると、ベーシック認証の認証画面が出てくるようになりました。

これがわからず、はまってしまっていました。。