Apacheのhttpd.confのCustomLogに、環境変数を複数指定したい
初めて質問させていただきます。至らない点もあるかと思いますが宜しくお願いいたします。
似たような質問を探している人がいるかもしれませんので、まず一般的な質問をさせていただきます。Apache2の設定ファイルのhttpd.confに、CustomLogという設定項目がありますが、このCustomLogの書式は
CustomLog [ログファイルパス] [書式] [env=***]
という3つの引数を取るということでいいと思うのですが、この[env=***]のところに、不一致の判定と一致の判定を指定したいのです。
例えばこんな状況です
1) SetEnvIf [判定の条件式1] [環境変数A] [環境変数X]
2) SetEnvIf [判定の条件式2] [環境変数B] [環境変数X]
3) SetEnvIf [判定の条件式3] [環境変数B] [環境変数X]
と、SetEnvIfで環境変数を2個ずつ指定した後、
CustomLog logs/[ログファイルA] combined env=[環境変数A] ←1) に一致で書き込み
CustomLog logs/[ログファイルB] combined env=[環境変数B] ←2,3) に一致で書き込み
CustomLog logs/[ログファイルX] combined env=![環境変数X] ←1,2,3) に不一致で書き込み
となることは分かるのですが、上の例だと不一致と一致を同時に指定することはできません。そのような場合はSetEnvIfの判定条件を工夫するのでしょうか?
私の場合の具体的な質問はこうです。
「WMVファイルだけのアクセスログファイルを作りたい」
「かつ、家庭内LANからのアクセスログは排除したい」
と思い、下のように設定したのですが、
#家庭内LANからのログを排除するための環境変数
SetEnvIf Remote_Addr 192.168.0. nolog
#WMVファイルのログを取るための環境変数
SetEnvIf Request_URI \.wmv$ wmv-files
このように設定すると、最初の例のように、不一致と一致のログをうまく作れません。
長くなってしまってまとまりがありませんが、何分素人なのでこれが限界です。。どうか回答のほど宜しくお願いいたします。