外部フィルタ

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側がひっかかって見に来た人が激怒したらどうすんの、とかいろいろあるよね(笑)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です