初めて質問させていただきます。至らない点もあるかと思いますが宜しくお願いいたします。
似たような質問を探している人がいるかもしれませんので、まず一般的な質問をさせていただきます。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
このように設定すると、最初の例のように、不一致と一致のログをうまく作れません。
長くなってしまってまとまりがありませんが、何分素人なのでこれが限界です。。どうか回答のほど宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
失礼いたしました。
QNo.3601206の一部をコピーして使用しましたので、ご指摘のように先頭にマッチさせるメタ文字になってしまったものと思います。
「^/string/」という記述を行なって、stringの否定を表現したかったものです。
以下の記述ではどうなりますでしょうか?
SetEnvIf Remote_Addr "192.168.0." nolog
SetEnvIf Request_URI "^/wmv/" nolog (または "^/.wmv/")
CustomLogには env=!nolog のようにenvを否定形で指定する。
No.1
- 回答日時:
投稿文章の2)と3)とも環境変数が同一にしてある意味が理解できませんでした。
たとえば次のように設定するとどのようになりますか?。
#排除するアドレス
SetEnvIf Remote_Addr "192.168.0." nolog
#排除するファイルをXORで定義する
SetEnvIf Request_URI "^\.wmv$" nolog
上記のように環境変数を定義しておいてCustomLogには
env=!nolog
のようにenvを否定形で指定する。
この回答への補足
すいません、回答へのお礼を書いたあとに確かめたのですが、
wmvファイル以外のものも記録されるようになってしまいました。
確認したいのですが、^は先頭にマッチさせるメタ文字ではないでしょうか?
というのも、リファラーの制限などでよく
SetEnvIf Referer "^http://www\.foo\.jp"
このようなものを見かけます。この時の^は「以外」ではなく「先頭」ですよね。
以外を示すメタ文字があればそれで解決しそうな気がしますが、
探す能力に乏しいのか見つかりません。
ご存知であればよろしくお願いいたします。
take_chanさん。早速のご回答ありがとうございます。
> 投稿文章の2)と3)とも環境変数が同一にしてある意味が理解できませんでした。
これは判定の条件式が2)と3)で異なるので、環境変数Bは2)と3に一致(または不一致)させたい時に、環境変数Xは1)と2)と3)に一致(または不一致)させたい時に使えるようにしてあります。
> たとえば次のように設定するとどのようになりますか?。
> #排除するアドレス
> SetEnvIf Remote_Addr "192.168.0." nolog
> #排除するファイルをXORで定義する
> SetEnvIf Request_URI "^\.wmv$" nolog
サンプルを考えてくださってありがとうございます。
これなら確かに
「家庭内LANの接続を記録しない」
「WMV以外のリクエストを記録しない」
ですからWMVだけの記録が取れそうですね。
早速試してみたいと思います。どうもありがとうございました。
確認が取れたら質問を締め切らせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- FTTH・光回線 AU光回線の速度が出ません 2 2022/07/30 16:05
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- フリーソフト テキストエディア oedit の環境設定(初期設定)ファイルはどこ? 1 2022/11/18 15:40
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- 弁護士・行政書士・司法書士・社会保険労務士 ★行政書士試験の行政法についての質問になります。 地方自治法についての質問になります。 問1 都道府 1 2023/06/18 09:00
- Windows 10 パスを通す 1 2022/09/10 20:01
- 大学・短大 https://youtu.be/0-w_PGK2JhY https://youtu.be/qvj_ 1 2023/04/03 19:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ubuntu 鍵のマークがついて書き...
-
FTPでの上書きが拒否されます。
-
秀丸でFTP転送をしたい。
-
Linuxのumask値について
-
ftpでファイルを転送時、タイム...
-
差込印刷のデータ参照エラー
-
jw_cadの「.BAK」や「自動保存○...
-
圧縮ファイルが解凍?されても...
-
zlibで圧縮されたファイルの解凍
-
外付けHDDに画像が保存できなく...
-
DLLとCOMの違い
-
CADのsfcファイルをjw...
-
拡張子「arc」ファイルについて...
-
二重圧縮ファイルがうまく開け...
-
TeraTermでファイルの中身をコ...
-
PDFが元ファイルより重い
-
1GB以上ある zip ファイル が解...
-
7z sfxというのは自動で解凍さ...
-
拡張子datのファイルはどうやっ...
-
エクスプローラーのドラッグア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷のデータ参照エラー
-
ftpでファイルを転送時、タイム...
-
Ubuntu 鍵のマークがついて書き...
-
windows7からlinuxへ大量のファ...
-
FTPでの上書きが拒否されます。
-
htaccessでユーザー認証が出来ない
-
550www: File exists
-
Apacheのhttpd.confのCustomLog...
-
Poderosaでls-l時に背景色が変わる
-
(PDF形式)CD挿入時に自動起動...
-
qmailで存在しないアドレスへの...
-
ドメイン変更にともない、アド...
-
/etc以下で不要ファイルの削除
-
対話式FTPのシェル化の方法
-
Apacheのテストページ
-
FTPのログについて
-
メールサーバに適したファイル...
-
rsync のバージョンアップについて
-
タイムスタンプ更新時にシェル...
-
外部HDなどのmount時のユーザ名
おすすめ情報