PHP:CodeIgniter を「さくらインターネット」で使うときの .htaccess の記述

PHP のお気に入りフレームワーク CodeIgniter で開発を行っていたのですが、さくらインターネットで動作させようとしたときにはまったので、メモしておきます。

○環境

  • CodeIgniter 1.7.2
  • さくらインターネット スタンダードプランで PHP5 を選択

結論としては、.htaccess と config.php の2点をいじる必要がありました。

まずは「.htaccess」側のコード。

[code lang=’sh’] RewriteEngine On
RewriteBase /

#条件付加:REQUEST_FILENAME ディレクトリが存在しなければ(!-d)次に進む
RewriteCond %{REQUEST_FILENAME} !-d

#条件付加:REQUEST_FILENAME ファイルが存在しなければ(!-f)次に進む
RewriteCond %{REQUEST_FILENAME} !-f

#すべてのパス情報を index.php? の後に繋げて評価する
RewriteRule ^(.*)$ index.php?$1 [L] [/code]

ポイントは、RewriteBase を必ず指定しなければならないことと、RewriteRule のパスの先頭に「/」を含めてはいけないこと、さらにRewriteRule の書き換え先の URL の最後に「?」を付けることでした。

続いて「application/config/config.php」のコード。

[code lang=’php’] $config[‘uri_protocol’] = “QUERY_STRING”;
[/code]

クエリ文字列で処理する、と言うことですね。

環境依存の問題は、本当にいろいろとありますね。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる
『ワードプレス外部バックアップサービス』

■3つの特長
・自分でやらなくて良い
・いざという時の復旧付き
・外部サーバーにバックアップ

コメントを残す