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 も使えます。
さらに詳しいことは
次のページをご覧ください。