3.3.4 Apacheとmod_rewrite

CakePHPは、展開した状態ではmod_rewriteを使用するようになっており、ユーザの中には、自分のシステムでうまく動作するまで苦労する人もいます。これは、正しく動かすためにできるいくつかの点です。

  • .htaccessのオーバーライドが許可されていることを確認しましょう。場所は、httpd.confの中の、サーバのディレクトリを定義している場所です。正しいドキュメントルートのAllowOverrideがAllになっていることを確かめてください。
  • ユーザやサイト特有のhttpd.confではなく、システムのhttpd.confを編集してください。
  • CakePHPが必要な.htaccessを見つけられないでいるでしょうか。オペレーティングシステムの中には、'.'ではじまるファイルを隠しファイルとして扱うため、コピーや移動の際に、この現象が発生することがあります。CakePHPのファイルを、サイトのダウンロードセクションからか、SVNリポジトリから入手して、正しく展開するようにしてください。
  • mod_rewriteを正しく読み込んでいることを確認してください。LoadModule rewrite_module libexec/httpd/mod_rewrite.soや、AddModule mod_rewrite.cがhttpd.confの中にあることを確認してください。
  • CakePHPをユーザディレクトリ(http://example.com/~username)にインストールした場合は、CakePHPインストールのベースディレクトリにある.htaccessファイルを編集してください。"RewriteBase /~myusername/"を追加します。