我所面临的错误似乎很常见。但我在网上各个帖子上找到的解决方案似乎并没有解决我的问题。
我是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 |
+--------+----------+----------+------+---------+--------------+
任何帮助将不胜感激。我被卡住了!
答案 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
解决了我的问题!谢谢!