バーチャルホストを設定せずLaravelを実行する





LaravelはHTTPリクエストメソッドを判別して、処理を振り分けます。

ゆえに、世間ではApachのバーチャルホストを設定し、Laravelを利用して開発することが多いようです。

ですが、レンタルサーバを使用していると、webサーバの設定を自由に行えない為、

Laravelを使用する為に必要なバーチャルホストの設定が出来ないので、Laravelが利用出来ないという問題が発生します。

ということで、

今回の目的はバーチャルホストを設定せず、Laravelを利用します。

前提とする環境はこちらを参照して下さい。環境




はじめに

前提知識として、Laravelのフォルダ構成をおさらいします。
以下はドメイン直下のディレクトリ構成です。

フォルダ名 説明
app 開発したソースコードの格納場所
bootstrap Laravelの起動処理ファイル格納場所
config 設定ファイル格納場所
database データベース関連ファイル格納場所
public サイトトップ(Laravelのドキュメントルート)
resouces 開発画面、言語設定、メッセージファイル格納場所
storage Laravelがストレージとして使用するファイル格納保存
tests テスト関連ファイル格納場所
vender インストール時のパッケージの格納場所

このままでは、http://ドメイン名/public/index.php にアクセスしないとトップ画面が表示できません。

やりたいこととしては、http://ドメイン名 にアクセスしトップ画面を表示させることです。

では、どうするか。

publicフォルダ(Laravelのドキュメントルート)の内容を http://ドメイン名 以下に配置し、起動ディレクトリのパスを変更します。

以下、具体的な手順を説明します。




ドキュメントルートの変更

上記でも述べましたが、

publicフォルダ(Laravelのドキュメントルート)の内容を http://ドメイン名 以下に配置します。

最終的なフォルダ構成は以下です。

  • test
    • app
    • bootstrap
    • config
    • database
    • resouces
    • storage
    • tests
    • vender
  • index.php (publicフォルダのファイル)
  • .htaccess(publicフォルダのファイル)
  • robots.txt(publicフォルダのファイル)

同じことの繰り返しになってしましますが、ドキュメントルートをドメイン直下にします。

これは http://ドメイン名 でアクセスするとindex.phpが実行されるという動作にする為です。

なので、publicフォルダの内容をドメイン直下に移動しました。

ついでに、任意にtestフォルダを作成し、Laravelフレームワークをtestフォルダ以下に格納しました。




Laravelの起動パスの変更

上記の変更により http://ドメイン名 でアクセスするとindex.phpが実行されます。

実行される index.php では、Laravelの起動ファイル(bootstrap以下のindex.php)を読み込んでいます。

ゆえに、index.phpの内容を、上記で変更したディレクト構成に従い変更します。




最後に

http://ドメイン名 でアクセスするとTop画面が表示されるはずです。

まとめは以下です。

ドキュメントルートをドメイン直下にし、ドメイン直下に存在する index.php のLaravelの起動ファイルの読み込みパスを変更する。

これで、バーチャルホストを設定に縛られることなく、Laravelが利用出来ます。

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

© web.lab All Rights Reserved.