Web: 2013年12月アーカイブ

htmlの一部を置換して配信する方法

テストサーバと本番サーバでリンクを書き換えたいとか、テストサーバでは一部の文字を置換したいけど、HTMLに手を入れちゃうと本番サーバにアップロードする前に修正しなきゃならないので、大変・・・。そう思ってました。

Apachのモジュールを調べたら、mod_substituteとかmod_layoutとかmod_ext_filter辺りが置換してくれそうなんですが、レンタルサーバでは動きませんでした、Xamppでも・・・
そもそもhttp.confを書き換えられない環境も多いです。


調べたら.htaccessからcgiをキックできる方法がありました。
.htaccessに「Action text/html /replace.cgi」のように記述するとCGIが動くので、ちょっとした置換処理を行うPerlを書きましょう。
もちろんCGIのパーミッションを変更する必要はありますが。

詳しくはココを参照してください。

CGI動かしちゃうので、サーバの負荷を考えるとテストサーバ用と思った方がいいです。
サーバの仕様、設定にも依存しますので、動かない場合もあります(ロリポップでは動きました)。

Action以降を書き換えれば、CSSやJavaScriptでも動くと思いますし、画像をゴリゴリ書き換えることも出来るんでしょうね、多分。