cakePHP cake と app を分離する

1 予備知識
 CakePHPには以下のように三つの主な部分があります。
  (1) CakePHP のコアライブラリ - \cake
  (2) アプリケーションコード(コントローラ、モデル、レイアウト、ビューなど。) -\app
  (3) アプリケーションの webroot ファイル(画像、javascript, CSS など) -\app\webroot



2 ディレクトリを別の場所に設置
 まずCakePHP のコアライブラリを分離させてみます。
分離前
C:\xampp\htdocs
\cake1.2
\app
\cake
\vendors
\docs
.htaccess
index.php

分離後
C:\xampp\htdocs
\cake1.2
\app
.htaccess
C:\cake1.2
\cake
\vendors
\docs
index.php

 上記のように分離したら、C:\xampp\htdocs\cake1.2\app\webroot\index.phpを開き、56行目あたりを変更します。
 変更前: define('CAKE_CORE_INCLUDE_PATH', ROOT);
 変更後: define('CAKE_CORE_INCLUDE_PATH', 'C:' . DS . 'cake1.2');
       # define('CAKE_CORE_INCLUDE_PATH', 'C:\cake1.2'); でも可。




次にアプリケーションコード(コントローラ、モデル、レイアウト、ビューなど。)を分離してみます。もしDドライブがない場合は、CでもAでもEドライブでも何でも構いません。
分離前
C:\xampp\htdocs
\cake1.2
\app
\config
\controllers
\locale
\models
\plugins
\tests
\tmp
\vendors
\views
\webroot
.htaccess
C:\cake1.2
\cake等


C:\xampp\htdocs
\cake1.2
\app
\webroot
.htaccess

分離後
C:\cake1.2
\cake等
D:\cake1.2
\app
\config
\controllers
\locale
\models
\plugins
\tests
\tmp
\vendors
\views

 上記のように分離したら、再びC:\xampp\htdocs\cake1.2\app\webroot\index.phpを開き、下記のようにそれぞれ変更します。
 変更前: define('ROOT', dirname(dirname(dirname(__FILE__))));
 変更後: define('ROOT', 'D:' . DS . 'cake1.2');

変更前: define('APP_DIR', basename(dirname(dirname(__FILE__))));
 変更後: define ('APP_DIR', 'app');






このままでもいいと思うのですが、cake1.2ではなくwebrootフォルダに直接アクセスするようにしてみましょう。
変更前
C:\xampp\htdocs
\cake1.2
\app
\webroot
.htaccess
C:\cake1.2
\cake等
D:\cake1.2
\app C:\xampp\htdocs
\webroot

変更後
C:\cake1.2
\cake等
D:\cake1.2
\app




 上記のように変更(移動・削除)したら、C:\xampp\htdocs\webroot\index.phpを開き、
 ///////////////////////////////
 //DO NOT EDIT BELOW THIS LINE//
 ///////////////////////////////
 と書かれている上あたりにでも下記を追加する。
define('WEBROOT_DIR', basename(dirname(dirname(__FILE__))));


by
http://aaady.blog117.fc2.com/blog-entry-29.html