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コマンドでは、ダブルクォーテーション(”)とピリオド(.)は特殊文字になるので、特殊文字として認識しないようバックスラッシュ(\)で意図的に指定しています。
とまぁ、これで一時的に回避しておいて、また問題が出たらその時にでも。