11月 13 2011

CodeIgniter URL コントローラー

sixcore でCodeIgniterを使おうとしたら上手くURLを捌いてくれない。。。。。

どんなURLでのTOPページへ行ってしまう!!

phpのバージョンかと思い5.33にあげても駄目。。。

原因は$_SERVERの値だった!!

CodeIgniterは$_SERVER[PATH_INFO]の値を元に読み込むContollorを決めるようだ。

この値がないが原因!!

$_SERVER['ORIG_PATH_INFO']があるのでそれを代入してやることで対応

if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )
{
    $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
}

これを

system/core/URI.php の120行目あたり

$path = (isset($_SERVER[$uri])) ? $_SERVER[$uri] : @getenv($uri);

の上に記入

コメントはまだありません

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする