2017-05-08 78 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的建議,解決我的問題!謝謝!

相關問題