特定のサブディレクトリに別のBASIC認証をかける
BASIC認証のかかっているディレクトリがあり、そのサブディレクトリに別のBASIC認証をかけたい場合があったのでメモ。
たとえば、http://example.com/hoge/ にすでにBASIC認証がかけられているが、http://example.com/hoge/fuga/ に別のBASIC認証「だけ」をかけたい、といった場合です。
簡単に考えると、
そこで、
<Location ~ "^/hoge/fuga"> AuthType Basic AuthUserFile /path/to/.htpasswd.fuga AuthName "Enter password for fuga" Require valid-user </Location> <Directory "/path/to/hoge/"> AuthType Basic AuthUserFile /path/to/.htpasswd.hoge AuthName "Enter password" Require valid-user </Directory>
これは
マージの順番は以下のようになっています:1.
(正規表現無し) と .htaccess を同時に (.htaccess が許可されていれば、それが を上書きします)
2.(と
3.と を同時に
4.と を同時に
以外は、それぞれのグループは設定ファイルに現れた順番に処理されます。 (上のグループ 1) はディレクトリが短いものから長いものへと処理されます。
:
後のセクションのディレクティブが前のセクションのものを上書きします。
のとおり、