2017-05-08 3 views
0

私が直面しているエラーはよくあるようです。しかし、私がオンラインのさまざまな記事で見つけた解決策は、私の問題を解決するようには思えませんでした。Laravel - RouteCollection.phpのNotFoundHttpException -/route以外のすべてのページにエラーが表示されます

私は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 worked!だから私は、フォームの提出などのようにindex.phpで私のコード内のリンクを使用しようとする必要がありますか?あるいは、私はindex.phpを必要としないように設定を変更する必要がありますか? ...私が言及したように、リンクhttp:// localhost/laravel/larashop/public /は動作しますが、何も追加するのはindex.phpだけです。 – user7983103

答えて

0

私はあなたがウェブサーバーをセットアップする方法が正確ではないと思います。 Webサーバーは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 URLなしでこれらにアクセスすることができ、あなたが提供する情報を使用して

以下のように(強く推奨されません)ルートの公共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

Demonyowhとgeckobにより示唆されるように、php artisan serveを使用して、私の問題を解決します!ありがとうございました!

関連する問題