notfoundプラグインを導入
先日導入した find プラグイン(参照)のおかげで、ブログ内検索が、かなり使えるようになりました。もっと早く導入しても、よかったですね。
ところで、find プラグイン検索で、どのエントリにもヒットしなかった場合は、404 Not Found になっていたかと思います。これは、hail2u.net - Weblog - blosxomと404 #2の方法で、存在しないページにアクセスがあったら 404 を返すようにしていたからです(たぶん)。
blosxomは、存在しないページにアクセスがあった場合でも、無理矢理ページをこさえて出力してしまいます。hail2u.net - Weblog - blosxomと404 #2は、これを防ぐための措置です。
このままでもいいかなと思っていたのですが、notfound プラグインを改造して使ってみることにしました。notfound は、hail2u.net - Weblog - blosxomと404 #2と同じことをプラグイン側で実現するものです(適当)。
これを、Extension3 - blosxomのカスタマイズ#6の方法でカスタマイズすれば、find プラグインで検索した場合は、notfound の対象外になります。つまり、検索で何もヒットしなくても 404 を返さず、何か表示されるようになります。
ただ、hail2u.net - Weblog - blosxomと404 #2でも notfound プラグインでも、存在しないカテゴリへのアクセスで無理矢理ページが表示されるケースがあるようです。それは、実際に存在するカテゴリの名前(例: /internet/)と、途中まで一致するところ(例: /int や /i/ など)にアクセスした場合です。
たとえば、
http://niiyan.s8.xrea.com/blosxom/int/
でアクセスしても、
http://niiyan.s8.xrea.com/blosxom/internet/
と同じページが表示されます。
dynamic_cache プラグインを使っている場合、これもキャッシュされてしまいます。
追記: よく考えれば(考えなくても)、notfound プラグインの「Not Found出力を避けるフレーバーの拡張子」で .find (find プラグイン用の flavour )を指定すれば、検索で何もヒットしなくても 404 を返さないようにすることができるのでした(find プラグイン用の flavour を用意しているのなら)。
my $flavour_re = '^(?:wikieditish|find)$';
こんな感じでいいみたいです。
スポンサード リンク
writeback message: There was a problem posting your writeback.
- [Preview]ボタンをクリックすると、コメント内容をプレビューすることができます(JavaScript使用)。
- スパム対策としてリファラチェックを行っています。セキュリティソフトの設定でリファラを無効にしていると投稿できません。
- エントリの内容と無関係と思われるコメントやトラックバックは削除されます。
- 当ブログへの言及リンクがないトラックバックはブロックされます。



