自由気ままなITメモログ

パソコン、サーバー、モバイル関連等の情報・Tipsを、不定期で綴るメモ集です。

000webhostでcakePHPを動かす

いきなりの話題だが、備忘録として。細かい話は追々。

無駄にハマってしまったが、答えは管理画面のFAQにあった。
ログイン後でないと見れないので直リンクは貼れないが、以下の場所にある。


Frequently Asked Questions > PHP Questions > "Do you support .htaccess? What should I know about it ?"


FAQによると、.htaccessで、フレンドリーURL(fancyURL)の設定を行うような場合、すなわち、RewriteRuleを用いるような場合は、エラーが出ることがある。その場合は、.htaccessファイルの最初に


RewriteBase /


を追加しておくれ、ということみたいだ。


更に、サブディレクトリにそのようなスクリプト群を置く場合、
たとえば、http://example.com/test/ にスクリプトを置くときは、そのtestディレクトリの.htaccessに、


RewriteBase /test/


を書いてね、とのこと。


実際そのとおりにRewriteBaseを記述したら、問題なくcakePHPが動いてくれた。よかったよかった。




2011-11-26 7:10追記


※私はcakePHP2.0.3の勉強中なので、cakePHP2.0.3の場合で以下記述する。


当初は、cakePHPのルートディレクトリの.htaccessのみ、上記変更を行なっていたが、それだけではうまくう動かない。
(これまでは、cakePHPを /public_html/test/ ディレクトリ下に設置した場合、/public_html/test/.htaccess にのみRewriteBase /test/ を追加していた)


どうやら、/public_html/test/app/webroot/.htaccess にも、RewriteBase /test/ を追加する必要があるようだ。


ポイントは、/public_html/test/app/.htaccess にはRewriteBase記述をしないこと。


なぜかよく分からないけど、ここに書いてしまうと、404エラーとなる。
たぶんちゃんと追えば分かるんだろうけど、勉強中の身なのでわかりません・・・。


わかったときはまた追記しようと思う。