存在しないフレーバーが指定されたときリダイレクトする: その2
デフォルト以外の場所にフレーバーを置くblosxom pluginもあるわけで、それらに対応するためにredirectif_noflavourを更新。flavourdirなんかと試してみたけど動きました。前より短くなった気がする・・・。
# Blosxom Plugin: redirectif_noflavour
# Author: motormean
# Version: 0.1
# Blosxom Home/Docs/Licensing: http://www.blosxom.com/
package redirectif_noflavour;
use strict;
my @chunk_list = qw(content_type head story date foot);
sub start
{
1;
}
sub skip
{
my $path = $blosxom::path_info;
foreach my $chunk (@chunk_list)
{
return 0 if $blosxom::template->($path, $chunk, $blosxom::flavour) ne $blosxom::template{error}{$chunk};
}
$path =~ s/\.[^\.]*$/.$blosxom::default_flavour/;
print "Location: $blosxom::url/$path\n\n";
return 1;
}
1;
せっかくだから今一度解説。このプラグインは、存在しないフレーバーにアクセスされたとき、色気のないデフォルトのerrorフレーバーを表示させる代わりに、デフォルトのフレーバー(htmlとか)にリダイレクトします。blosxom本体を弄る方法がhail2u.netで紹介されてたりしますが。
このウェブログにも入れてるので変なフレーバーでアクセスしてみれば確認できると思います。(そして変なところがあったらこっそりと教えて)
Writebacks
プラグイン配布元としてリンクしました。
201ea58a872885e80b54b79edfad6d3c201ea58a8728
a_Ya__a__a__a_Ta_ra_a,^a,_a_-a__a_S~a_,a_-a__a_Ta_,
a_Ya__a__a__a_Ta_ra_a,^a,_a_-a__a_S~a_,a_-a__a_Ta_,
Trackback
このエントリへのトラックバック pingは まで。