CodeIgniterの’index.php’を省略する.htaccess


久しぶりにPHP関連の話題です。

PHPフレームワークのCodeIgniterは軽量かつわかりやすいということで人気です。現在のバージョンは2.1.0で、こちらからダウンロードできます。2MB強です。インストールは先ほどのアーカイブを展開しておくだけです。

展開したディレクトリをcodeigniterとすると、アクセスはhttp://www.example.com/codeigniter/index.php/test/などとなります。他のフレームワークと同様に、パラメータをディレクトリのように渡します。ただ、このままだと、inde.phpの部分が毎回表示され冗長です。

.htaccessを設定すると、解消できるとオンラインのドキュメントにも書かれているので設定してみましたが、404 Not Found とエラーが出てきました。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

上記の場合は、CodeIgniterをhttp://www.example.com/の直下に展開した場合なので、今回のようにhttp://www.example.com/codeigniter/に展開した場合は3行目を以下のように書き換えます。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /codeigniter/index.php/$1 [L]

これで無事に解決しました。

「CodeIgniterの’index.php’を省略する.htaccess」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

SPAM防止のため数字と漢数字の算数の計算をお願いします。 * Time limit is exhausted. Please reload CAPTCHA.