NginxでCodeIgniterのrewrite設定
NginxとCodeIgniterの設定で、rewrite loopに陥ったのでメモ。
URIはIndex.phpも省いて、コントローラ名も省いちゃいたいぜい。
(こんな感じのURLがお望み -> http://example.com/info)
- nginx側の設定
location / { rewrite /(.*)$ /index.php?c=xxx&m=$1; }
(xxxはコントローラー名になります)
- CodeIgniter側の設定
config.phpのenable_query_stringsをTRUEに変える。
$config['enable_query_strings'] = TRUE;
- アクセス
http://example.com/infoにアクセスする事で以下URLにアクセスされます。
http://example.com/index.php?c=xxxx&m=info
わーいわーい。
もし、ブラウザにrewriteしたアドレスを表示させたいのであればredirectをつければOK。
確認にもなるお。
rewrite /(.*)$ /index.php?c=xxx&m=$1 redirect;
他の参考サイト様を見たらコントローラー名は指定してないけど、デフォルトコントローラー設定したりとかでいけるだろうか…。