algolia search

Tìm thấy x bài viết trong xms.

Lỗi Laravel: NotFoundHttpException in RouteCollection.php line 161


Lỗi Laravel: NotFoundHttpException in RouteCollection.php line 161

Trong Laravel có nhiều lỗi, theo đánh giá của mình thì hay gặp và gây khó chịu nhất là lỗi NotFoundHttpException in RouteCollection.php line 161.

Để khắc phục lỗi này mình đề xuất hướng giải quyết sau, hi vọng giúp ích cho các bạn.

Giả sử thư mục gốc của trang web bạn là: C:/xampp/htdocs/laravel

Như vậy trên trình duyệt sẽ là: http://localhost/laravel

Bước 1: Check index route

Bạn hãy kiểm tra chắc chắn website mình đang chạy trên:

http://localhost/laravel

hay

http://localhost/laravel/public

Laravel được cấu hình để chạy trên các server chuyên dụng như homestead.

Nên sau khi setup website xong sẽ có trang index mặc định là http://localhost/laravel/public 
các bạn lưu ý điểm này.

Bước 2: Check .htaccess

Giả sử sau khi bước 1 đã check xong bạn thu được kết quả là website chạy trên

http://localhost/laravel/public

và đường dẫn bạn đang chạy bị gặp lỗi là:

http://localhost/laravel/public/hello

Bạn cần kiểm tra xem .htaccess rewriting rules đã có hiệu lực hay chưa bằng cách truy cập liên kết sau:

http://localhost/laravel/public/index.php/hello

Nếu ok như vậy có nghĩa là file .htaccess không có hoặc rewrite module php chưa được cài đặt hoặc bị disable.

Bước 3: Kiểm tra trong cmd

Bước 1 và 2 là những nguyên nhân thường hay gặp nhất, nếu vẫn chưa được yên tâm các bạn hãy thử cách sau đây.

Đầu tiên các bạn chạy cmd tại thư mục root của website, trong ví dụ của mình là laravel. Sau đó gõ lệnh:

php artisan route:list

Lưu ý: trong routes của bạn có callback function chẳng hạn như dưới đây thì có khả năng báo lỗi nhé

Route::get('users/{id}', function() {
    echo 'callback function';
});

Laravel sẽ liệt kê toàn bộ route có trong project của bạn gồm các trường sau:

+--------+--------------------------------------------------------------+-------------
| Domain | Method | URI | Name | Action                                 | Middleware |
+--------+--------------------------------------------------------------+-------------
|         GET|HEAD  /    home App\Http\Controllers\HomeController@index | web        |

Ở đây các bạn quan tâm đến 2 thuộc tính đó là URI và Method, đầu tiên là URI bạn kiểm tra xem URL bạn truy cập có trong danh sách không. Các bạn có thể kiểm tra thủ công bằng mắt, hoặc nhấn Ctrl + F (win 8 trở lên mới có thì phải) để kiểm tra.

Giả sử URL bạn truy cập khớp với 1 bạn ghi trong URI thì bạn kiểm tra xem method của URI đó có hỗ trợ hay không. Như ở trên hỗ trợ method GET hoặc HEAD mà bạn đặt trong form với method POST thì chắn chắn xảy ra lỗi.
Nếu tới đây biết được lỗi rồi thì ok rồi phải không.

Nếu vẫn chưa giải quyết được lỗi, hãy để lại cmt nhé!

Chúc các bạn thành công! 😘😘

Đánh giá bài viết

Thích thì like
Lỗi Laravel: NotFoundHttpException in RouteCollection.php line 161
5/5 1 votes

Bình luận

Hiển thị bình luận Facebook