AWStats設定ファイルでSkipHostsのIP範囲(RegEx)を指定するにはどうすればよいですか?
質問
特定のIP範囲を除外するために、古いAWStats構成ファイルを更新しています。設定ファイルの関連セクションは次のとおりです。
# Do not include access from clients that match following criteria.
# If your log file contains IP addresses in host field, you must enter here
# matching IP addresses criteria.
# If DNS lookup is already done in your log file, you must enter here hostname
# criteria, else enter ip address criteria.
# The opposite parameter of "SkipHosts" is "OnlyHosts".
# Note: Use space between each value. This parameter is not case sensitive.
# Note: You can use regular expression values writing value with REGEX[value].
# Change : Effective for new updates only
# Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
# Example: "localhost REGEX[^.*\.localdomain$]"
# Default: ""
#
SkipHosts=""
たとえば、X.Y.Z。[97-110]を除外したい
この形式を試しました(注:これらのIP値ではなく、例としてプライベート範囲を使用):
REGEX[^192\.168\.1\.[97-110]]
ただし、次のエラーが発生します。
CGIエラー
指定されたCGI 誤動作するアプリケーション HTTPの完全なセットを返す ヘッダー。
すべてが異なるRegEx構文を使用する方法が嫌いです。誰かがこれがどのように機能し、ここで範囲を指定する方法を知っていますか?
解決
文字クラスがREGEX []内でサポートされていると仮定:
SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"
他のヒント
使用した正規表現では、9または7から1または1または0が指定されていますが、これらは混同します。
使用できます
SkipHosts="REGEX[^192\.168\.1\.(97|98|99|100|101|102|103|104|105|106|107|108|109|110)]"
あなたがそんなに傾いているなら
SkipHostsを空のままにすると、AWStatsは実行されますか?そうでない場合は、コマンドラインユーティリティを使用してエラーを確認してください。たとえば、Windowsを使用する場合:
c:\perlpath\perl.exe awstats.pl config=yourconfigfile -update -logfile=yourlogfile
これで詳細がわかるはずです。
所属していません StackOverflow