2004/9/ 7

Windows XP SP2とWebalizer(Web)

Windows XPをサービスパック2にしたらIEでWebalizerのページが見れなくなりました。
色々調べた結果、Webalizerが出力するindex.htmlの<html>タグより前に沢山のコメント行があるのがいけないみたいです。
Webalizerのソースを見ると、このコメントはプログラム中に埋め込みでコーディングされており、簡単に修正できませんでした。

とりあえずコメントさえ消してしまえばちゃんと表示できるので、以下のスクリプトを作って、cronから/usr/local/bin/ja-webalizerを定期的に呼んでいる所を、このスクリプトに入れ替えたところ正常に表示されるようになりました。

#!/bin/sh
WEBALIZER=/usr/local/bin/ja-webalizer
HOMEDIR=/home/www/local/webalizer
PAGEFILE=index.html

$WEBALIZER
sed -E 's/<!--.+-->//' $HOMEDIR/$PAGEFILE > /tmp/$PAGEFILE
mv /tmp/$PAGEFILE $HOMEDIR/$PAGEFILE

やっていることは簡単で、sedで「<!--ほにゃらら-->」の行を空白にしてあげているだけです。本来はIEが修正すべきバグなのですが、MSの重い腰を上げるのも大変なので自分の方で対処してしまいました。