Laravel4、コードをpublic_htmlから外す
タグ: Laravel4
多くの共有サーバーでは、デフォルトのドキュメントルートが自分のホームディレクトリー下のpublic_htmlになっているものが多いと思います。
Laravel4を利用する場合に、コードをこのpublic_htmlから外す方法を紹介します。
通常にインストールした場合
ディレクトリー構造:
/home /User /public_html /project1 /app /bootstrap /vendor /public <==== ここにドキュメントルートを設定 -.htaccess -index.php -artisan
細かいファイルは省略しています。この場合でしたら、あるドメインのドキュメントルートを/home/User/public_html/project1/public
に設定し、そのドキュメントにアクセスするわけです。
public_htmlからコードを外す例
ディレクトリー構造:
/home /User /project1 /app /bootstrap /vendor -artisan /public_html /project1 <==== ここにドキュメントルートを設定 -.htaccess -index.php
この場合でしたら手順は、1.ホームディレクトリーのUserへLaravel4一式をアップロード、2.publicフォルダーをpublic_htmlへ移動、3.publicをproject1へリネームになります。
もちろん仮にproject1にしていますが、お好きな名前でどうぞ。
続いて、この構造を反映するために2ファイル修正します。
1.index.phpをエディターで開き、以下のように変更します。
... require __DIR__.'/../../project1/bootstrap/autoload.php'; ... $app = require_once __DIR__.'/../../project1/bootstrap/start.php'; ...
2.bootstrapフォルダー下のpaths.phpファイルをエディターで開き、publicフォルダーの位置と名前を修正します。
'public' => __DIR__.'/../../public_html/project1',
これだけです。
よく研究すればvendorを共通化して全プロジェクトから使用することも可能でしょう。ただ、Composerが名前空間を解決するためのファイルが太り、オートローディングの速度に影響が出るかも知れません。
まあ、色々と出来ますよ。やろうと思えば。意外と簡単です。