LaravelをNginxに設置するときのメモ

 前回の記事で、NginxにLaravelを設置して公開ディレクトリ直下の index.phpを表示できたはいいが、コントローラーを追加してルーティングを設定したページは404エラーになったので、それの解決方法をメモ。

該当箇所の環境

  • Nginx
  • Laravel5.7.26

問題の箇所

Route::get('top', 'TopController');

 Laravelのルーティングで設定したのにも関わらず、ドメイン/top にアクセスしても404エラー。nginxのログを見るとそんなファイルやディレクトリはないとのこと。

解決方法

 どうやら、Nginxのdefault.confでLaravel用の設定を追加で記述していないと、TopControllerではなくtopディレクトリやtopファイルを見ようとしてしまうのが原因だった。
 そこで、下記のサイトを参考に、特定のURL以下になるとLaravelのルーティングを優先するようにして、かつサブディレクトリで運用するような設定をNginxのdefault.confに記述した。

5.0 インストール Laravel
Laravel5.7をサブディレクトリで動かす - Qiita
概要ローカルで作成したLaravelアプリを公開サーバーのサブディレクトリに設置して動かそうとしたところ、うまくいかずはまってしまいました。ひとまず、動作するようになったため、設定内容を共有いた…

 つーかLaravel 公式ドキュメントにNginxで運用するときの設定方法思いっきり書いてあんじゃん…ということで、公式ドキュメントもちゃんと読もうってオチでした。

コメント

タイトルとURLをコピーしました