Apache HTTP Serverに、mod_ext_filter.soというのがある。まだexperimentalということでパッケージ化のときに収録していないことも多いだろう。ソースからmod_ext_filter.cをもってきて、apxs -c mod_ext_filter.c -o mod_ext_filter.so -shared
でコンパイル、apxs -i mod_ext_filter.so
でインストールできる。
この拡張モジュールは何をするかというと、外部プログラムのフィルタを使えるのだ。sedもawkもperlも、なんでもアリだ(いいの?)。httpd.confでいろいろ設定すると何でもかますことができる。今のところはOutputFilterのみ。
これを見て思ったのは、むかしあったよなー、大阪弁フィルタ(yorosiku.net)、ということだ。これを噛ましてみようではないか。
LoadModule ext_filter_module modules/mod_ext_filter.so <IfModule mod_ext_filter.c> ExtFilterDefine osaka-text mode=output cmd="/some/path/to/osaka" </IfModule>
で、.htaccessや<Directory>ブロック等で
<IfModule mod_ext_filter.c> AddOutputFilter osaka-text .html .htm .php </IfModule>
などのようにする。ApacheのAddOutputFilterというのはすでにあるフィルタに追加するように見えて上書きしてしまうようで、PHPやCGIやSSIなどをOutputFilterで設定して使っている場合は、AddOutputFilter PHP;osaka-text .php
などといちいち書かなければならない(Fedora Core 1のはAddType application/x-httpd-php .php
となっていてSetOutputFilterではない)。
で、VirtualHostを使って大阪弁フィルタをかましてみた(現在はやっておりません)。
くだらん。
experimentalということもあって、けっこうセキュリティ上の問題があるのかもしれないし、検索にosaka側がひっかかって見に来た人が激怒したらどうすんの、とかいろいろあるよね(笑)。