Laravel - RouteCollection.php中的NotFoundHttpException - 除/ route之外的所有页面都显示错误

时间:2017-05-08 22:45:51

标签: php laravel

我所面临的错误似乎很常见。但我在网上各个帖子上找到的解决方案似乎并没有解决我的问题。

我是Laravel的新手,并使用tutorial link将其安装在我的本地(WAMP)上。

初始设置似乎工作正常,我的路线(http://localhost/laravel/larashop/public/)页面正常工作。但是我添加到routes.php或web.php文件的任何其他路由似乎都不起作用。我在RouteCollection.php行xyz 中收到错误 NotFoundHttpException。

我的web.php文件:

<?php

//works
Route::get('/', function () {
    return view('welcome');
});

//does not work
Route::get('/hello',function(){
    return "welcome";
});

//does not work
//Route::get('hello', 'Hello@index');

//does not work
/*Route::get('hello',function(){
    return view('welcome');
});*/

我曾使用 php artisan make:controller Hello 命令创建控制器并为其添加了一个简单的index()函数。但即使我不使用控制器或视图(即return "welcome"功能),链接也不起作用。

我得到以下内容以响应 php artisan route:list 命令:

c:\wamp64\www\Laravel\larashop>php artisan route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
|        | GET|HEAD | hello    |      | Closure | web          |
+--------+----------+----------+------+---------+--------------+

任何帮助将不胜感激。我被卡住了!

2 个答案:

答案 0 :(得分:0)

我认为您设置Web服务器的方式并不完全正确。 Web服务器应指向public文件夹。然后,您可以在没有public URI的情况下访问它。

使用您提供的信息,如果您将其指向公共文件夹,则可以在不使用public网址的情况下访问这些信息:

Route::get('/',function() { return 'Something'; })

http://localhost/laravel/larashop/


Route::get('/hello',function() { return 'Something'; })

http://localhost/laravel/larashop/hello

如果您坚持将Web服务器指向根项目文件夹,该文件夹将包含路由中的公共URI(强烈建议不要这样做),您可以按如下方式访问您的路由:

Route::get('/',function() { return 'Something'; })

http://localhost/laravel/larashop/public/


Route::get('/hello',function() { return 'Something'; })

http://localhost/laravel/larashop/public/hello

答案 1 :(得分:0)

根据Demonyowh和geckob的建议,使用php artisan serve解决了我的问题!谢谢!