ドメインを取ったので、公開した。
といっても、完全に自分の作業用。
公開にあたり、セキュリティ強化の一環としてwebroot以下のみ公開フォルダに設置するよう、構成を変更した。
検索して色々調べながら、以下の作業をした。
ちなみに利用サーバーは、heteml。
webrootフォルダ内を、独自ドメインを割り当てた公開フォルダ(仮にcakewebrootとする)に移動。
それ以外を、公開フォルダより上の階層にフォルダ(仮にcakemodとする)を作成して移動。
階層はこんな感じ
cakemod
web(公開ディレクトリ)
-cakewebroot(独自ドメインを割り当てたフォルダ)
ファイル内容の変更
3つある.htaccessの内容を変更する。念のためバックアップを取っておく。
cakewebroot直下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase / ←これを追加
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
cakemod直下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakemod ←これを追加
RewriteRule ^$ ../web/cakewebroot/ [L] ←編集(cakewebrootへの相対パス)
RewriteRule (.*) ../web/cakewebroot/$1 [L] ←編集(cakewebrootへの相対パス)
</IfModule>
cakemod/app直下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakemod/app ←これを追加
RewriteRule ^$ ../../web/cakewebroot/ [L] ←編集(cakewebrootへの相対パス)
RewriteRule (.*) ../../web/cakewebroot/$1 [L] ←編集(cakewebrootへの相対パス)
</IfModule>
つづいて、cakewebrootのindex.phpを編集。
40行目前後から
if (!defined('ROOT')) {
//define('ROOT', dirname(dirname(dirname(__FILE__))));
define('ROOT', dirname(dirname(dirname(__FILE__))).DS.'cakemod');
}
if (!defined('APP_DIR')) {
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
define('APP_DIR', 'app');
}
これで一応動作確認が取れた。
正直、.htaccessには疎いので、あれこれ試しながらの作業だった。
開発を進めていく上で不具合が出ないことを祈るのみ・・・。
こちらを参考にさせていただきました。