先日、ForceType で PHP が実行できなくなったサクラインターネットですが、mod_rewrite が使えるので、以前の設定がそのまま使えないかテストしていました。(mod_rewrite は、サーバー内でURLを書き換えることができるモジュールです。)
それがなかなかうまく設定できなくて、悩みまくりました。
mod_rewrite に慣れてないというのもあるのですが、それよりも、サンプルとして書かれている書き換えルールが、さくらインターネットで動かないのです。
以下を参考にして解決しました。
結局何が問題だったのかというと、以下は一見動くように思えるのですが...
RewriteEngine on RewriteBase / RewriteRule ^/ip/([a-z]+)$ /ip/get.php?fmt=$1[L]
実際一番以下のルールを以下のように変更しなければ動きません。
RewriteRule ^ip/([a-z]+)$ ip/get.php?fmt=$1[L]
そういうものみたいです。これで、いままで使えなくなっていた API のサービスが復活しました。(今のところ、郵便番号やIPアドレス、為替レートを提供しています。)