Sorry, the page you are looking for could not be found without showing any error : Laravel 5.5

Sorry, the page you are looking for could not be found without showing any error : Laravel 5.5

新安装的 Laravel 5.5 显示 抱歉,无法找到您要查找的页面。没有任何错误。请看截图:

我认为它甚至没有查看路由文件,这是我的 routes.php 和 htaccess

这是什么原因?

我想你可以使用这个命令:

  1. php artisan config:cache
  2. php artisan view:clear

这些命令使用,我希望你的错误解决

您所有的 WEB 路由都将位于文件中:

routes\web.php

在那里注册您的路线。

确保您的 register.blade.phpresources/views 目录中,并从您分配给此视图的 URL 中删除尾部斜杠。

有时 storage/logs/laravel.log 日志文件中的错误消息(如果您有默认配置)也能提供帮助。

订单

注意路由顺序,真的很重要(老实说骗了我很多次)。

因为 Laravel 从上到下遍历路由列表,直到找到第一个匹配项,根据经验,首先尝试定义没有参数的路由,然后在路由文件中定义带参数的路由 (web/api).

示例:(基于 Radical's

Route::get('/blog/{id}', 'BlogController@show');

Route::get('/blog/comments', 'BlogController@comments');

在这种情况下,Route::get('/blog/{id}', 'BlogController@show'); 排在第一位,因此它会被选中。即使你真正想要的是 Route::get('/blog/comments', 'BlogController@comments');

我的两分钱:)

这行不通的原因有很多

  1. 应该是路线写的不错 eg: Route::get('/boost/{type}/{{type_id}}', ['uses' => 'RequestController@getBoosted', 'as'=>'boosts/{{type}}/{{type_id}}']); 当它应该是这样的时候:Route::get('/boost/{type}/{type_id}', ['uses' => 'RequestController@getBoosted', 'as'=>'boosts/{type}/{type_id}']); 查看上面的两个代码,第二条路线是正确的,因为大括号是一个而不是两个

  2. 您可能需要清除缓存,这在极少数情况下会发生

  3. 可能有问题的开发者没有把链接正确地放在控制器上 Return view('site.block') 您必须确保引用的页面位于正确的位置

当控制器方法中的 findOrFail 方法失败时,我 运行 遇到了这个问题。