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エラーとなる。
たぶんちゃんと追えば分かるんだろうけど、勉強中の身なのでわかりません・・・。
わかったときはまた追記しようと思う。