さくらインターネットでのCodeigniterのURLルーティングについて

確実に需要があると信じて、ポスト。

さくらインターネットで「Codeigniter」を運用していて、mod_rewriteの設定に苦慮したことないっすか?俺、ある。さくらはファイル拡張子を勝手に補完していたり、URLのルーティングに関して癖がありまくりなんですが、最初俺もその辺りがネックなのかなあと思ってましたが、それ以上に重要なのがCodeigniterのルーティング設定。これをミスると、index.php/以下のパスが全く通らないことになってしまう。

なので、system/application/config/config.phpを、

$config['uri_protocol'] = "QUERY_STRING";

と修正してやる。すると、パスが通った!やったぞ!

何か知らないけど、$_SERVER['PATH_INFO']も$_SERVER['ORIG_PATH_INFO']も、全く機能してなかった。以上、何か問題あるかな?(適宜、$config['permitted_uri_chars']も調整してやると、良い感じになりますよ。特に、マルチバイトのクエリ投げるとき等)

mod_rewriteの方は、

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?/$1 [L]

で、今のところ問題無し(さくら特有の癖を吸収したRewriteRuleなので、注意)。