質問: ### 前提・実現したいこと laravelのweb.phpで下記、発生している問題の1.は404エラー、2.は正常に表示されます。 なぜ、上だけ404エラーになるのかが解決できません。 PostsControllerにtestアクションは存在しております。 postsフォルダにtest.blade.phpも存在済み そもそも、1.はweb.phpを経由していませんでした。(試したこと追記) ### 発生している問題 ``` 1. Route::get('/posts/test', 'PostsController@test'); // url:http://192.168.33.10:8000/posts/test 2. Route::get('/posts/test/{id}', 'PostsController@test2'); // url:http://192.168.33.10:8000/posts/test/{id} ``` ### 試したこと web.phpに経由されているか確認をしましたが変わらず404エラー表示です。 ``` Route::get('/posts/test', function () { echo "a"; }); ``` ・storage/logs追加 ``` #27 /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #28 /home/vagrant/laravel_lessons_copy/myblog/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #29 /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #30 /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #31 /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #32 /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #33 /home/vagrant/laravel_lessons_copy/myblog/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) #34 /home/vagrant/laravel_lessons_copy/myblog/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) #35 /home/vagrant/laravel_lessons_copy/myblog/server.php(21): require_once('/home/vagrant/l...') #36 {main} "} ``` ### 補足情報(FW/ツールのバージョンなど) ・win10 ※以前はmac:osを使用しておりファイルをそのままwin10に移行しています。 mac:osの時は今回のエラーは発生せず正常に動作しました。 ・virtual boxを使用しlaravelプロジェクトにてphpサーバー起動 起動コマンド:$ php artisan serve --host 192.168.33.10 --port 8000 ・php バージョン7.1 ・laravel バージョン5.8
回答: 解決できました! web.phpの問題でした。 今回の404表示の飛び先のルートの上部に下記2点を設置していたのでそちらが先に反応して404と表示していたようです。 Route::get('/posts/{post}', 'PostsController@show')->where('post', '[0-9]+'); //こちらが反応 Route::get('/posts/{ico}', 'PostsController@show')->where('post', '[0-9]+'); //こちらが反応 Route::get('/posts/test', function () { echo "a"; }); mac環境では動いておりwindowsに移管してから発生した現象だったので、てっきりインフラ系の設定に問題があるのかと思っていました。 お手数おかけ致しました。