Laravel 5.3 NotFoundHttpException
Posted
技术标签:
【中文标题】Laravel 5.3 NotFoundHttpException【英文标题】: 【发布时间】:2017-01-23 15:22:26 【问题描述】:我正在尝试设置一个 Laravel 5.3 项目。我已经创建了项目并启动“localhost//public”显示欢迎屏幕就好了。
在 web.php 文件中添加测试条目时,如
Route::get('about', function ()
return view('welcome');
);
然后尝试以 'localhost//public/about' 的身份访问它,我在 RouteCollection.php 第 161 行得到了这个 NotFoundHttpException:错误。我真的很困惑到底出了什么问题。
在 5.2 版本中,使用 routes.php,它工作得非常好。
注册,
埃里克
【问题讨论】:
为什么是这个?localhost//public/about 为什么不只是 localhost/public/about 为时已晚,但对于看到这一点的其他人来说,很可能是RouteServiceProvider
中的某些内容没有根据 Laravel 5.3 的更改进行更改。将该文件与 laravel/laravel 存储库中的文件进行比较。
【参考方案1】:
NotFoundHttpException 表示 Laravel 找不到请求的路由。因此,您正在尝试访问不存在的东西,这就是它抛出 NotFoundHttpException 的原因。
尝试访问您的路线,例如
localhost/public/about
【讨论】:
【参考方案2】:当使用工匠路线时,这是一个奇怪的故事:列出关于整齐地弹出。但是,当通过 Chrome 访问时,我无法加载它。我已经删除了整个 www 目录并重新开始。现在它起作用了。一定是有什么东西在身边徘徊。
谢谢,
埃里克
【讨论】:
【参考方案3】:您可以尝试在 app\Providers\RouteServiceProvider.php 中为 web 路由添加一个“公共”前缀,如下所示:
protected function mapWebRoutes()
Route::group([
'middleware' => 'web',
'namespace' => $this->namespace,
'prefix' => 'public',
], function ($router)
require base_path('routes/web.php');
);
【讨论】:
以上是关于Laravel 5.3 NotFoundHttpException的主要内容,如果未能解决你的问题,请参考以下文章
laravel 无法打开输入文件:artisan (5.3)
从 Laravel 5.3 升级到 Laravel 5.4 并且空字段转换为 NULL