2017년 11월 14일 화요일

laravel Sorry, the page you are looking for could not be found.

라라벨에서 컨트롤러를 추가했는데 계속 주소를 못찾는다.


Sorry, the page you are looking for could not be found.

1/1NotFoundHttpException in RouteCollection.php line 161:

  1. in RouteCollection.php line 161
  2. at RouteCollection->match(object(Request)) in Router.php line 821
  3. at Router->findRoute(object(Request)) in Router.php line 691
  4. at Router->dispatchToRoute(object(Request)) in Router.php line 675
  5. at Router->dispatch(object(Request)) in Kernel.php line 246
  6. at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
  7. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
  8. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
  9. at CheckForMaintenanceMode->handle(object(Request), object(Closure))
  10. at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  11. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  12. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  13. at Pipeline->Illuminate\Routing\{closure}(object(Request))
  14. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102
  15. at Pipeline->then(object(Closure)) in Kernel.php line 132
  16. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
  17. at Kernel->handle(object(Request)) in index.php line 53
1.라우팅된 목록을 확인한다.
{php installed path}\php artisan rout:list
+--------+----------+-------------------------------------------+------+-------------------------------------------------------------------+------------+
| Domain | Method   | URI                                           | Name | Action                                                                      | Middleware |
+--------+----------+-----------------------------------------+------+---------------------------------------------------------------------+------------+
|           | POST     | welcome                                      |       | App\Http\Controllers\Api\HelloController@index              |                |
+--------+----------+-----------------------------------------+------+---------------------------------------------------------------------+------------+

잘못 등록했다면 오류가 나올것이다. 오류메세지가 없는데 등록한 컨트롤러도 없다면 라우트 캐쉬를 재생성해 본다.
 = >  {php installed path}\php artisan rout:cache

메뉴얼 문서에 이런내용이 있다. 문서를 정독하자

라우트 캐시

주의: 라우트 캐시는 클로저를 기반으로한 라우트에서는 동작하지 않습니다. 라우트 캐시를 사용하기 위해서는 모든 클로저 기반의 라우트를 컨트롤러를 사용하도록 변경해야 합니다.
어플리케이션이 컨트롤러 기반의 라우트만을 사용하고 있다면 라라벨의 라우트를 캐시하는 장점을 사용할 수 있습니다. 라우트 캐시를 사용하면 어플리케이션의 전체 라우트를 등록하는 데 걸리는 시간의 양을 크게 감소합니다. 경우에 따라서는 라우트 등록이 100배나 빨라질 수도 있습니다! 라우트 캐시를 생성하기 위해서는 route:cache 아티즌 명령어를 실행하면 됩니다.
php artisan route:cache
저게 전부입니다. 캐시된 라우트 파일이 app/Http/routes.php 파일 대신에 사용될것 입니다. 명심할 것은 새로운 라우트를 추가하면 라우트 캐시를 다시 생성해줘야 한다는 것입니다. 이러한점 때문에 route:cache 명령어는 프로젝트가 배포되고 나서 실행하는 것이 좋습니다.
캐시를 재생성하는것 말고 캐시를 제거하기 위해서는 route:clear 명령어를 실행하면 됩니다.
php artisan route:clear