備忘録的に書いていきたいと思います。
コアサーバー等の格安レンタルサーバーでLaravleを動かすにあたり、
レンタルサーバーでよくある、ドメイン名配下のみで完結させたかった。
※シンボリックリンクは使えない前提
基本的なディレクトリ構成はこんな感じ
/public_html/ドメイン名/ドキュメントルート(ここで完結させたい)
色々なサイトを参考にさせていただいた感じ、下記の手順を踏む場合が多いみたい。
・publicフォルダの中身をドキュメントルートに展開
・public_pathで取得するパスがドキュメントルートになるように上書き
これらで問題点感じたものは、下記でした。
A.publicフォルダの中身をドキュメントルートに展開だけの場合
public_pathが返す値が元のパスのままだった
上記の問題でファイルアップロードが上手く動作しなくなってしまった
B.public_pathで取得するパスがドキュメントルートになるように上書きまで実施
上書きしたファイルを他の環境でも共通で使うのか、不安
やったこと
結果はすごくシンプルでhtaccessを使って、すべてのアクセスを転送する
現状はこれで問題なく動いているんで、何かあれば、また追記します。
※以下ララベルフォルダを[laravel]とします。
/public_html/ドメイン名/[laravel]&.htaccess
.htaccessの中身
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ [laravel]/public/index.php [L]
RewriteRule ^(.+)$ [laravel]/public/$1 [L]
</IfModule>