WikiFarm を動かす (5)
BitChannel の WikiFarm を設置したのはいいけど、リロードすると2回に1回は表示されないトラブルに遭遇してしまった。 そこで、以前の経験から、 farm.cgi を nph-farm.cgi にリネームして、
BitChannel::FarmCGI.main(farm_context(), {:NPH => true})
としてみたところ、表示されないトラブルは解消された。 でも今度は、完全更新(IEだと CTRL + F5)しないとページが更新されなくなってしまった。
しかたがないので、 wget を使って HTTP ヘッダを調べてみた。
$ wget -nv -d --spider http://example.com/nph-farm.cgi ---request begin--- HEAD /nph-farm.cgi HTTP/1.0 User-Agent: Wget/1.8.2 Host: wiki.flop.jp Accept: */* Connection: Keep-Alive ---request end--- HTTP/1.0 405 Method Not Allowed Connection: close Date: Tue, 07 Sep 2004 00:24:45 GMT Content-Type: text/html Server: Apache/1.3.31 (Unix) Content-Length: 284
うむむ… HEAD メソッドに対応できていない? これが原因なのかな。
追記
違った。勘違いだった。
ページが更新されないのは、テーマ(スタイルシート)だけを変更したときだった。 この場合、コンテンツ自体は変わっていないので、 Last-Modified は変わらない。 だから、ブラウザのキャッシュに残っているデータが表示されているんだな。 これは仕方ないか。
ちなみに、 HEAD メソッドに応答するためには、 lib/bitchannel/farm.rb に
alias do_HEAD do_GET
と書けばいいのかな。ちょっとムダな気もするけど。