トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

apache:mod_ext_filterでコンテンツ書き換え のバックアップ(No.1)


apache:mod_ext_filterでコンテンツ書き換え

画面に表示されるURLのリンクを試験用に書き換えたいけど、アプリを直したりデータを書き換えたりはしたくない。

そんな時はmod_ext_filterでコンテンツを書き換えることで対応できるかもしれません。

apacheの設定内容

httpd.conf若しくはhttpd.confでロードされる設定ファイルに以下の内容を記述します。

まず、モジュールのロード

LoadModule ext_filter_module modules/mod_ext_filter.so

次に、書き換えのコマンドを定義します。

ExtFilterDefine fixtext mode=output intype=text/html cmd="/bin/sed -e s/www\.example\.com/www\.test1\.example\.com/g"

この場合、apacheが返却するコンテンツの内容の中が

  • コンテンツタイプが「text/html」の場合
  • sedに食わせて、「www.example.com」という文字列を「www.test1.example.com」に置換 するfilterを定義してます。

次に、実際に適用する場所を定義します。

<Location />
# core directive to cause the fixtext filter to
# be run on output
SetOutputFilter fixtext
</Location>

この場合、/配下のロケーションに適用されます。