• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CakePHPの .htaccess設定について)

CakePHPの.htaccess設定について

このQ&Aのポイント
  • CakePHPをVPSで構築したサーバーにインストールしましたが、.htaccessの設定がうまくいかず困っています。
  • フォームの実験を行った際に、フォーム送信後のURL表示がうまくいっていません。
  • 「htaccessファイル1」(アプリケーション)、「htaccessファイル2」(公開)、および「htaccessファイル3」(コア)の設定内容について疑問点があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

apache サーバーでは、 .htaccess は公開ディレクトリーにあるものしか見ません。 よって、/var/www/html/example.com のドキュメントルートにある「htaccessファイル2」のみが実質動作します。あとの2つの.htaccess は読み込まれない場所にあるので、置いておく意味もありません。参考リンク先でも、.htaccess は一つですし。 「htaccessファイル2」の記述は、ほぼ配布元と同じなので、問題なく動作していると思います。 ドキュメントルートのindex.php から開始するなら、RewriteBaseは不要かとも思いますけど。 あと問題の url http://www.example.com/sample でアクセスしているときに <form action='./sendform' >とすると、http://www.example.com/sendform へ送信されるのは、ブラウザの仕様です。 http://www.example.com/sample/ のurlでform表示する必要があります。actionメソッド名index は省略可能だけど controllerの後方の / は省略しないこと。ブラウザが判断するディレクトリー区分が違ってしまいます。

hpmt28
質問者

お礼

ご回答ありがとうございます。 .htaccessは公開ディレクトリーでしか動作しない点は、頭から抜けてしまっていました。 ご指摘ありがとうございます。 URLの部分の詳しい説明、大変参考になりました。 無事、問題が解決しました。

その他の回答 (1)

  • nikogoo
  • ベストアンサー率21% (18/85)
回答No.1

httpd.conf ------------------------- #AllowOverride None ↓ AllowOverride ALL ------------------------- おそらく2か所

hpmt28
質問者

お礼

ご回答ありがとうございます。 httpd.conf の設定はうまくできていましたので、 うまくいかないのはこれ以外の原因だったようです。

関連するQ&A