無意義なつぶやき

渋谷ではたらくエンジニアブログ。

CakePHPのインストール

このエラーの解決方法についてです。

URL rewriting is not properly configured on your server.1) Help me configure it2) I don’t / can’t use URL rewriting

 

http://book.cakephp.org/2.0/ja/installation.html

 

ここを見ながらcakePHPのインストールをしていた際に出たエラーです。 

 

発生経緯

1.ダウンロードしたcakePHPフォルダをMAMPのhtdocs直下に置く(この時点でlocalhost/cakeなどで問題なく表示される。フォルダ名はcakeに変更)

2.cakePHPフォルダをusr直下に移動し、ヴァーチャルホストの設定をする。(webrootをusr/cake、ドメインをlocal.cake.jp)

3.アクセスしてみると上記のエラーが発生、特徴としてCSSが適切に表示されない。

 

htdocs以外にdocumentrootを設定した際に発生しがちなエラーな気がします。

 

 主に下の3つに問題がある場合が多そうです。

httpd.conf or httpd-vhosts.conf

.htaccess

mod_rewrite

 

1.httpd.conf or httpd-vhosts.conf

僕の場合はここが原因でした。cakephpのdocumentrootの指定の際に間違ったアドレスを指定していただけです。

 

http.confでもhttpd-vhosts.confでもどちらでもいいので以下を記述

<VirtualHost *:80>
   DocumentRoot "/----/cake/app/webroot"
   ServerName local.cake.jp
   <Directory "/----/cake/app/webroot">
      #Options FollowSymLinks
      #AllowOverride All
      #Order allow,deny
      #Allow from all  
   </Directory>
</VirtualHost>

 

DocumentRootを/cake/にしていたのでcssフォルダがなかったっていう単純な理由でした。webrootを変更しなくてもcakeディレクトリにwebroot以下にあるcake.generic.cssを配置しても直ります。webroot以下にシンボリックリンクを張っているときは#を外す。

 

2.htaccess

/cake/app/webrootとDocumentRootを指定したらcake,app,webrootそれぞれのディレクトリに.htaccessを置かないとだめみたいです。

cakePHPみたいに最初から.htaccessを置いといてくれるとこの問題は発生しないんですが、自分で開発したものだったりするとwebroot以下に置いてもその上は忘れがち。

 

 

すごい初歩的なとこで詰まってたみたいです。

mod_rewriteをいじった時も同じようなエラーが出るみたいなのでそれはまた今度書きます。