7月 25

当方のサイトはawstatsで簡単なアクセス解析をしているのですが、生成される解析結果のトップページからのサブページへのリンクと実際にawstatsがはき出すhtmlファイル名が異なっており、リンク切れを起こしておりました。まぁ、外部からはアクセスできないので、放置しておいても問題ないのだが・・・
トップページ(index.html)からサブページのリンクは、「ホスト名.yyyymm.カテゴリ.html」なのだが、実際に作成されるファイル名は、「awstats.ホスト名.yyyymm.カテゴリ.html」。つまり、実際に作成されるファイルに「awstats」が付帯している。
調べてみると、バージョン6.9.5以降のバグらしく、当方が使用しているバージョンは7.0.3 in Fedora15。ビンゴでした。
さて、どうしたものかと思案した結果、awstatsのソースを弄っても、バージョンアップごとに手入れ部分を修正するのも面倒だったので、外的処置で逃げることに。
そうです、生成されたindex.htmlのリンクを強制的に書き換える方法です。
何らかのスクリプトで解析ページ生成をしていると思うので、そのスクリプトの最後に下記を挿入。
(解析ページ保存先やホスト名は適当に書き換えてください)

pushd <解析ページ生成ディレクトリ>
sed -i "s/href=\"witkitty\.com\./href=\"awstats\.witkitty\.com\./g" index.html
popd

言わなくてもお分かりかと思いますが、注意点は「置換文字列中の特殊文字にご注意を!」です。
上記sedコマンドでは、ダブルクォーテーション(”)とピリオド(.)は特殊文字になるので、特殊文字として認識しないようバックスラッシュ(\)で意図的に指定しています。

とまぁ、これで一時的に回避しておいて、また問題が出たらその時にでも。

written by hiro


Leave a Reply

*