Codeigniterで.htaccessを設定してURLからindex.phpをなくす

Codeigniterを利用していて、URLのindex.phpを表示しないようにする方法は、
Codeigniterのサイトでも紹介されている。
http://codeigniter.jp/user_guide_ja/general/urls.html

が、ここだけ読んでもできなくて、色々調べて結構時間かかったのでメモ。

やったことは、
・.htaccessファイルが有効になるようにApacheに設定をする。
・Codeigniterのサイトで紹介されているように、.htaccessファイルを作成する。

・.htaccessファイルが有効になるようにApacheに設定をする。
httpd.confファイルを編集します。
centos6を使っている私の環境では、「/etc/httpd/conf/httpd.conf」にありました。
httpd.conf内に、ドキュメントルート(/var/www/htmlとします)の設定がされている箇所が320行目あたりにあります。
」と記述されていると思うので、そのタグ内で、
AllowOverride None → AllowOverride All
に変更します。

・Codeigniterのサイトで紹介されているように、.htaccessファイルを作成する。
ドキュメントルートにサイトで紹介されているとおりに.htaccessファイルを作成します。
一応、内容を書いておくと、

です。

以上で、OKでした。
ちなみに、.htaccessに設定している内容は、Apacheのhttpd.confの
タグ内に記述しても同じことができるらしいです。というか、できれば、
httpd.confに書いた方が良いらしいです。理由は、性能面、セキュリティ面かららしいです。
これは、Apacheのサイトに書いてありました。
運用上、Apacheの設定ファイルがいじれない(サイト側だけ会社で担当して制作しているとか)など
制限がある場合は、.htaccessを作成し、そうでない場合は、httpd.confに設定するのが良さそうです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

メインはWeb系エンジニアです。

コメント

コメントする

CAPTCHA


目次