Apache 2.4 では If 文 が使え、 特定のドメインの時に処理をするようなことができます。
<If "%{HTTP_HOST} == 'www.dev.sample.com'">
AuthUserFile /dir/file
AuthGroupFile /dev/nul/.htpasswd
AuthName "input your id and passwd"
AuthType Basic
require valid-user
</If>
条件には ==
を使っていますが、そのほかにもシェルスクリプトと同じような比較も可能です。
- 文字列の比較
-
!=
: 不一致 -
>
,<
,<=
,>=
: 大小比較 -
=~
: 正規表現の一致
-
- 整数の比較
-
-eq
: 等しい -
-ne
: 等しくない -
-lt
: 小さい -
-le
: 小さいまたは等しい -
-gt
: 大きい -
-ge
: 大きいまたは等しい
-
- その他
-
-z
: 文字列長がゼロ -
-n
: 文字列長が1以上 -
-f
: ファイルが存在する -
-d
: ディレクトリが存在する -
in
: 含まれる
-
特に便利なのは =~
による正規表現との比較です。
<If "%{HTTP_HOST} =~ /user.test.sample.com$/" >
If
のほかに ElseIf
, Else
も使えます。
さらに詳しいことは
次のページをご覧ください。