質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

11292閲覧

Laravelでルーティングの404エラーエラーが直らない

katsun0921

総合スコア32

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/03/30 10:08

編集2019/03/30 10:28

laravelで開発環境をはじめました。

  • Windows 10 home
  • docker(docker toolを使っています。)

四苦八苦しながらlarabelの立ち上げには成功しまいた。

docker

1version: '3' 2 3services: 4 php: 5 container_name: laravel-php 6 build: ./docker/php 7 volumes: 8 - ./server:/var/www 9 10 nginx: 11 image: nginx 12 container_name: laravel-nginx 13 ports: 14 - 8080:80 15 volumes: 16 - ./server:/var/www 17 - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf 18 depends_on: 19 - php 20 21 db: 22 image: mysql:5.7 23 container_name: laravel-mysql 24 environment: 25 MYSQL_ROOT_PASSWORD: root 26 MYSQL_DATABASE: database 27 MYSQL_USER: docker 28 MYSQL_PASSWORD: docker 29 TZ: 'Asia/Tokyo' 30 command: "--innodb_use_native_aio=0" 31 volumes: 32 - ./docker/db/mysql:/var/lib/mysql 33 - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf 34 - ./docker/db/sql:/docker-entrypoint-initdb.d 35 ports: 36 - 3306:3306 37 phpmyadmin: 38 image: phpmyadmin/phpmyadmin 39 environment: 40 - PMA_ARBITRARY=1 41 - PMA_HOST=db 42 - MYSQL_USER=default 43 - MYSQL_PASSWORD=secret 44 - MYSQL_ROOT_PASSWORD=secret 45 links: 46 - db 47 ports: 48 - 5432:80 49 volumes: 50 - /sessions 51

nginxの設定

default.conf

1server { 2 listen 80; 3 index index.php index.html; 4 root /var/www/public; 5 6 location / { 7 root /var/www/public; 8 index index.html index.php; 9 } 10 11 location ~ .php$ { 12 13 try_files $uri =404; 14 fastcgi_split_path_info ^(.+.php)(/.+)$; 15 fastcgi_pass php:9000; 16 fastcgi_index index.php; 17 include fastcgi_params; 18 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 19 fastcgi_param PATH_INFO $fastcgi_path_info; 20 } 21 }

larabel

このあとroutesの処理を加えたところでつまりました。

routes/web.php

1<?php 2 3/* 4|-------------------------------------------------------------------------- 5| Web Routes 6|-------------------------------------------------------------------------- 7| 8| Here is where you can register web routes for your application. These 9| routes are loaded by the RouteServiceProvider within a group which 10| contains the "web" middleware group. Now create something great! 11| 12*/ 13 14Route::get('/', function () { 15 return view('welcome'); 16}); 17 18Route::get('/welcome', function () { 19 return view('welcome'); 20}); 21

これだとhttp://localhost:8080/だとページが表示されますが、http://localhost:8080/welcomeだと404 Not Foundとなってしまいました。

この場合どこを疑えばよろしいのでしょうか?ルートはとおっていると思うのです。

bash

1$ php artisan route:list 2 3+--------+----------+--------------+------+---------------------------------------------+--------------+ 4| Domain | Method | URI | Name | Action | Middleware | 5+--------+----------+--------------+------+---------------------------------------------+--------------+ 6| | GET|HEAD | / | | Closure | web | 7| | GET|HEAD | api/user | | Closure | api,auth:api | 8| | GET|HEAD | welcome | | Closure | web | 9+--------+----------+--------------+------+---------------------------------------------+--------------+

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xenbeat

2019/03/30 10:17

nginxの設定ファイルも追記しましょう。
katsun0921

2019/03/30 10:27

nginxの設定も追記しました。
guest

回答2

0

ベストアンサー

おそらくnginxの設定かと。
Laravelではリクエストをindex.phpに集中させる必要があります。

location / { try_files $uri $uri/ /index.php?$query_string; }

https://laravel.com/docs/5.8/installation#web-server-configuration
念のため、設定ファイル変更後はnginxの再起動をお忘れなく。

投稿2019/03/30 10:44

xenbeat

総合スコア4258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

katsun0921

2019/03/30 11:05

解決できました! ありがとうございました!
guest

0

初心者が最初からDocker使わなくていい。
最初はphp artisan serveだけでいい。
SQLite使えばDBも使える。

Docker使うからLaravelとは全く関係ない部分で躓く。

投稿2019/03/30 10:59

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問