前提・実現したいこと
ドットインストールを見ながらさくらのvpsにLaravelの環境を構築しようとしています。
indexページは無事に表示されましたが、そこからリンクページに飛ばした時にNot foundになってしまいます。
ドットインストール
「Laravel 5.5入門」#15で詰まりました
https://dotinstall.com/lessons/basic_laravel_v2
発生している問題・エラーメッセージ
indexページはドットインストールと同じようにちゃんと表示されます。
http://〇〇〇
↓
そこからリンク先のページに飛ぶとnot foundになります
http://〇〇〇/posts/1
↓
Not Found The requested URL /posts/1 was not found on this server.
該当のソースコード
/var/www/laravel/routes/web.php
php
1<?php 2 3Route::get('/','PostsController@index'); 4Route::get('/posts/{id}', 'PostsController@show');
/var/www/laravel/app/Http/Controllers/PostsController.php
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Post; 7 8class PostsController extends Controller 9{ 10 public function index() { 11 $posts = Post::latest()->get(); 12 return view('posts.index')->with('posts', $posts); 13 } 14 15 public function show($id) { 16 $post = Post::findOrFail($id); 17 return view('posts.show')->with('post', $post); 18 } 19}
/var/www/laravel/resources/views/posts/index.blade.php
php
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>Blog Posts</title> 6 <link rel="stylesheet" href="/css/styles.css" /> 7 </head> 8 <body> 9 <div class="container"> 10 <h1>Blog Posts</h1> 11 <ul> 12 @forelse ($posts as $post) 13 <li><a href="{{ action('PostsController@show', $post->id) }}">{{ $post->title }}</a></li> 14 @empty 15 <li>No posts yet</li> 16 @endforelse 17 18 </ul> 19 </div> 20 </body> 21</html>
/var/www/laravel/resources/views/posts/show.blade.php
php
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>{{ $post->title }}</title> 6 <link rel="stylesheet" href="/css/styles.css"> 7</head> 8<body> 9 <div class="container"> 10 <h1>{{ $post->title }}</h1> 11 <p>{!! nl2br(e($post->body)) !!}</p> 12 </div> 13</body> 14</html>
試したこと
Laravel以下のファイルはユーザーapacheにして読み込み書き込みをできるようにしています
補足情報(FW/ツールのバージョンなど)
PHP 7.1.29
Laravel Framework 5.8.16
CentOS Linux release 7.6.1810 (Core)
Server version: Apache/2.4.6 (CentOS)
バーチャルホストでポート8001をlaravelにしています
Listen 8001
<VirtualHost *:8001>
DocumentRoot /var/www/laravel/public
</VirtualHost>
回答2件
あなたの回答
tips
プレビュー