apacheのext_filterモジュールで画像サイズ変換

画像の自動変換をしたくて、apacheにそんなモジュールがないか探していたら「mod_ext_filter」でconvertに通せばなんとかなりそうだったのでやってみた

.htaccessでは設定できないのでhttpd.confとかのサーバ設定ファイルに記述して再起動する必要がある

httpd.confに以下を追加

ExtFilterDefine convert10per mode=output cmd="/usr/bin/convert -scale 10% - -"
ExtFilterDefine convert200per mode=output cmd="/usr/bin/convert -scale 200% - -"
<Location /image/10per>
    AddOutputFilterByType convert10per image/jpeg image/gif image/png
</Location>
<Location /image/200per>
    AddOutputFilterByType convert200per image/jpeg image/gif image/png
</Location>

で、/image/10perにアクセスすると10分の1のサイズで表示される
/image/200perにアクセスすると倍のサイズで表示される

これをうまいこと使えば色々と応用が利きそうだなぁ

問題は都度変換をかけて出力することに対するコストかな