さくらインターネットでCodeIgniterのindex.phpを消す
普通のサーバを使ってるなら
/application/config/config.php
$config['index_page'] = 'index.php';
RewriteRule ^(.*)$ /index.php/$1 [L]
とすれば良いだけなのに、さくらの共用サーバでは次のようにしないといけないようです。
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ index.php?__PATH_INFO__=$1 [L,QSA]
/application/core/MY_Controller.php
のコンストラクタで
if (isset($_GET['__PATH_INFO__'])) { $_SERVER['PATH_INFO'] = $_GET['__PATH_INFO__']; unset($_GET['__PATH_INFO__']); }
方法は何通りかあるようですが、例によって/system配下を修正しない方向のものを使ってみました。
VPSも安いことだし、乗り換えちゃうのもアリですね。