XSERVER事例:PATH_INFOが使えない場合のCodeIgniterのrewrite設定

CodeIgniterの移設作業で、若干はまったのでメモ。
普通に移設すると、TOPページ以外のページが404エラーになりました。
調べると、以下のようなドキュメントを発見。

http://codeigniter.jp/user_guide_ja/installation/troubleshooting.html

 

$_SERVER[‘PATH_INFO’]は、PHPがCGIモードで動作するサーバーの場合利用できるようだけど、XSERVERでは利用できないらしい。

 

元々index.phpをmod_rewriteで除外しているというよくある形で設定されていた。(以下)

config.php:

$config['index_page'] = "";

.htaccess:

RewriteRule ^(.*)$ /index.php/$1 [L] 

 

config.phpを以下のように修正してTOP以外も動作することを確認。

config.php:

$config['index_page'] = "?";

 

でもこの設定だと、URLが「http://hoge.jp/?ja/」という感じで不自然になった。
なので、config.phpの設定は変えずに、.htaccessの設定変更で解決しました。(以下、最終形)

 

config.php:

$config['index_page'] = "";

.htaccess:

RewriteRule ^(.*)$ /index.php?/$1 [L] 

 

 

意外とノウハウがWeb上に存在しなかったので、備忘録的に書いておきます。

(Visited 542 times, 2 visits today)