2008年10月04日

[cakePHP]さくらインターネットに導入する [サブドメインで運用]

共用レンタルサーバ「さくらインターネット」に cakePHPを導入するときの設定手順。

さくらインターネットの場合、xserverやローカル開発環境で設定したような手法でやっても404 Not Foundなどのエラーになることがある。

ここでは、サブドメインでcakePHPを運用する場合の設定方法を示す。

cakePHPインストール環境
/ドメイン名
 /www
   /webapp ←cakephpモジュール群インストールフォルダ
     /cake
     /app
       /webroot
     /docs
     /venders
     ・・・


1. さくらインターネットの管理画面、「ドメインの追加」にてサブドメインの設定をする。

 ドメイン名 - アクション - フォルダ
 abc.hogehoge.com エイリアス /webapp


2. /webapp直下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>



3. /webapp/app直下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>



4. /webapp/app/webroot直下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

</IfModule>


※.htaccessのRewriteBaseは、cake(app含む)本体、webrootが同一フォルダにある場合は、cakeをインストールしたディレクトリ(この例の場合は/webapp)をBase("/")として、RewriteBase、RewriteRuleを定義すること。


5. /webapp/app/webroot/index.php
if (!defined('ROOT')) {
// define('ROOT', dirname(dirname(dirname(__FILE__))));
define('ROOT', DS.'home'.DS.'(ドメイン名)'.DS.'www'.DS.'webapp');
}
/**
* The actual directory name for the "app".
*
*/
if (!defined('APP_DIR')) {
// define('APP_DIR', basename(dirname(dirname(__FILE__))));
define('APP_DIR', 'app');
}
/**
* The absolute path to the "cake" directory, WITHOUT a trailing DS.
*
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', ROOT);
}



参考記事:
共有サーバでの公開設定


CakePHP ポケットリファレンス (Pocket Reference)
株式会社ブルーオーシャン 岡田 佳典
技術評論社
売り上げランキング: 39470
おすすめ度の平均: 4.5
4 cakePHPの時には是非
5 いま発売されているcake系書籍で一番良いです









posted by surviver at 22:32 | Comment(0) | TrackBack(0) | cakePHP
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。