2017-05-08 31 views
0

我正面临的错误似乎很常见。但我在网上发布的各种帖子中找到的解决方案似乎并没有解决我的问题。Laravel - RouteCollection.php中的NotFoundHttpException - 除/路由以外的所有页面显示错误

我是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', '[email protected]'); 

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

我曾用PHP工匠制作:控制器你好命令来创建控制器和添加了一个简单的索引()函数来了。但即使我不使用控制器或视图(即功能return "welcome"),链接也不起作用。

我得到以下来应对PHP工匠路线:列表命令:

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   | 
+--------+----------+----------+------+---------+--------------+ 

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

+0

试试这个http://localhost/laravel/larashop/public/index.php/hello – owaishanif786

+0

为什么不使用'php artisan serve'呢? – Demonyowh

+0

谢谢! http://localhost/laravel/larashop/public/index.php/hello工作!所以我应该尝试在index.php中使用我的代码中的链接,比如表单提交等?或者我需要进行一些设置更改,以便我不需要index.php? ...正如我所提到的,链接http:// localhost/laravel/larashop/public/works,但是添加任何东西只能用于index.php。 – user7983103

回答

0

我想你设置网络服务器的方式并不完全正确。网络服务器应该指向public文件夹。然后,您可以在不使用public URI的情况下访问它。如果你坚持到Web服务器指向根项目文件夹这将

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

http://localhost/laravel/larashop/ 


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

http://localhost/laravel/larashop/hello 

使用您所提供的信息,如果你点它的公共文件夹,您可以访问这些没有public网址包括路由中的公共URI(其高度不推荐),您可以通过以下方式访问您的路线:

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

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


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

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

这是一个我正在写的学习Laravel的测试项目。一旦我编写了实际的项目代码,我肯定会将Web服务器指向公用文件夹。但是,我希望这不应该导致错误? – user7983103

+0

@ user7983103如果你只是测试,你实际上可以运行php手工作为一个快速的web服务器 – geckob

+0

如果你认为这是答案,随时投票并接受这个答案:) @ user7983103 – geckob

0

使用php artisan serve,通过Demonyowh和geckob的建议,解决我的问题!谢谢!

相关问题