Làm cách nào để hiển thị trang 404 thay vì đăng tuyến đường trong Laravel?

Các trang lỗi thân thiện trợ giúp và thông báo cho người dùng là điều cần thiết cho tất cả các trang web và ứng dụng web, chẳng hạn như trong trường hợp khách truy cập nhập sai URL

Laravel đi kèm với một loạt các chế độ xem lỗi theo mặc định, mặc dù thân thiện và được thiết kế hấp dẫn nhưng có thể không phù hợp với chủ đề của trang web cụ thể của bạn

Chế độ xem 404 mặc định của Laravel

Các chế độ xem lỗi tùy chỉnh đi kèm với cài đặt Laravel mặc định như sau

Lỗi 401 — Trái phép

Lỗi 403-bị cấm

Lỗi 404 không tìm thấy trang

Lỗi 419 — Laravel POST Error

Lỗi 429 — Quá nhiều yêu cầu

Lỗi 500 - Lỗi máy chủ nội bộ

Lỗi 503 — Dịch vụ không khả dụng

May mắn thay, việc tạo chế độ xem lỗi tùy chỉnh trong các phiên bản mới hơn của Laravel để phù hợp với thiết kế của bạn thực sự đơn giản, vì vậy chúng ta sẽ xem cách tạo các chế độ xem này trong hướng dẫn này

Nhận trợ giúp của chúng tôi thêm các trang lỗi tùy chỉnh vào trang web của bạn

Cách tạo chế độ xem lỗi tùy chỉnh

Có lẽ trang lỗi phổ biến nhất mà người dùng có thể thấy là lỗi

@extends['errors::illustrated-layout']

@section['code', '404 😭']

@section['title', __['Page Not Found']]

@section['image']

@endsection @section['message', __['Sorry, the page you are looking for could not be found.']]
0, điều này đơn giản có nghĩa là không thể tìm thấy trang. Điều này có thể xảy ra khi một khách truy cập vào 
@extends['errors::illustrated-layout']

@section['code', '404 😭']

@section['title', __['Page Not Found']]

@section['image']

@endsection @section['message', __['Sorry, the page you are looking for could not be found.']]
1 thay vì 
@extends['errors::illustrated-layout']

@section['code', '404 😭']

@section['title', __['Page Not Found']]

@section['image']

@endsection @section['message', __['Sorry, the page you are looking for could not be found.']]
2 chẳng hạn. Trước tiên, chúng ta sẽ xem xét việc tạo trang lỗi 404 tùy chỉnh

Trong thư mục dự án Laravel của bạn, hãy tạo một thư mục có tên là “errors” trong thư mục 

@extends['errors::illustrated-layout']

@section['code', '404 😭']

@section['title', __['Page Not Found']]

@section['image']

@endsection @section['message', __['Sorry, the page you are looking for could not be found.']]
3 của bạn

Tạo một tệp có tên 

@extends['errors::illustrated-layout']

@section['code', '404 😭']

@section['title', __['Page Not Found']]

@section['image']

@endsection @section['message', __['Sorry, the page you are looking for could not be found.']]
4 trong thư mục 
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
0 này

Nếu bạn cần lưu trữ cho các dự án Laravel của mình, chúng tôi thích DigitalOcean, bạn có thể nhận khoản tín dụng lưu trữ $100 để dùng thử nếu bạn đăng ký qua liên kết này

Bạn có thể viết bất kỳ html nào bạn chọn trong tệp này để hiển thị cho người dùng của mình, sử dụng các tệp mẫu của bạn nếu bạn cần. Ngoài ra, bạn có thể xem gần các tệp mẫu chế độ xem lỗi gốc của Laravel. Bạn sẽ thấy trong liên kết đó tất cả các tệp xem lỗi mặc định

Ví dụ dưới đây thực hiện một số điều chỉnh nhỏ đối với mẫu ban đầu, giữ lại bố cục nhưng thay đổi tiêu đề và hình ảnh ở bên phải màn hình

@extends['errors::illustrated-layout']

@section['code', '404 😭']

@section['title', __['Page Not Found']]

@section['image']

@endsection @section['message', __['Sorry, the page you are looking for could not be found.']]

Trang bây giờ sẽ trông như thế này

Bạn có thể lặp lại quy trình này cho bất kỳ chế độ xem lỗi nào khác, chẳng hạn như. g. bằng cách tạo 

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
1

Kết luận và mã thưởng

Đó là khá nhiều cho các trang lỗi tùy chỉnh. Bạn có thể làm cho các trang lỗi phức tạp hoặc đơn giản như bạn chọn, với nhiều thông báo dài dòng hơn hoặc thông tin liên quan đến người dùng cụ thể nếu được yêu cầu

Nhận trợ giúp của chúng tôi thêm các trang lỗi tùy chỉnh vào trang web của bạn

Điều gì đó có thể hữu ích cho các ứng dụng web đang chuyển hướng người dùng đến một vị trí được xác định duy nhất trong trường hợp xảy ra lỗi 404 Không tìm thấy thay vì hiển thị trang lỗi 404. Bạn có thể thực hiện việc này bằng cách thêm một hàm đơn giản vào tệp xử lý ngoại lệ của mình

Điều hướng đến 

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
2

Nhập lớp 

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
3

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

Sau đó tìm chức năng này

public function render[$request, Exception $exception]
{
return parent::render[$request, $exception];
}

Thêm phần sau trước khi hàm trả về

if [$exception instanceof NotFoundHttpException] {
return redirect[]->route['home'];
}

Cập nhật tên của tuyến đường từ 'nhà' thành bất cứ thứ gì bạn cần, [tên này tương ứng với dòng này trong

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
4

ngoại lệ route not found là một trong những ngoại lệ phổ biến trong laravel. hầu hết thời gian chúng tôi hiển thị trang 404 nếu không tìm thấy tuyến đường, nhưng trên thực tế, chúng tôi có thể chuyển hướng bất kỳ tốc độ nào

vì vậy trong bài viết này, chúng ta sẽ tìm hiểu

  1. 👉 Cách chuyển hướng người dùng đến “trang 404” nếu đường dẫn không tồn tại
  2. 👉 Cách chuyển hướng người dùng về trang chủ nếu route không tồn tại
  3. 👉 Cách chuyển hướng người dùng trở lại nếu tuyến không tồn tại

Chuyển hướng người dùng đến "trang 404" Laravel

404 là mã Phản hồi HTTP và việc sử dụng mã này HTTP nhắc nhở chúng tôi rằng không tìm thấy trang này cho tệp này. khi bạn nhận được mã phản hồi, chúng tôi sẽ hiển thị một trang cho người dùng của mình để người dùng có thể dễ dàng hiểu rằng không tìm thấy trang này, không tìm thấy tệp này. trong dự án laravel, chúng ta có thể làm điều này theo nhiều cách.
bây giờ bạn sẽ tìm hiểu cách chúng tôi có thể chuyển hướng người dùng của mình đến trang 404 bằng cách sử dụng phương pháp định tuyến bất kỳ trong Laravel

Route::any['{url}', function[]{
    return redirect['/404'];
}]->where['url', '.*'];

Ghi chú. đặt mã này sau tất cả các tuyến đường của bạn

Chuyển hướng người dùng đến trang chủ nếu không tìm thấy tuyến hoặc không tìm thấy trang

Giả sử bạn muốn chuyển hướng người dùng đến trang chủ nếu URL không chính xác hoặc không tìm thấy trang. để làm điều này trong dự án laravel, bạn có thể sử dụng phương pháp định tuyến bất kỳ

Làm cách nào để hiển thị trang 404 trong laravel?

Tạo trang lỗi 404 tùy chỉnh . create blade views for error pages, move to this path resources/views/ inside here create errors folder and within the directory create 404. lưỡi dao. tệp php . Nó sẽ chuyển hướng bạn đến trang 404 nếu bạn không tìm thấy URL được liên kết.

Đâu là sự khác biệt giữa Route. nhận và định tuyến. bưu kiện?

Các yêu cầu HTTP POST cung cấp dữ liệu bổ sung từ máy khách [trình duyệt] đến máy chủ trong nội dung thư. Ngược lại, Yêu cầu NHẬN bao gồm tất cả dữ liệu bắt buộc trong URL . Biểu mẫu trong HTML có thể sử dụng một trong hai phương thức bằng cách chỉ định method="POST" hoặc method="GET" [mặc định] trong phần tử

Làm cách nào để khắc phục lỗi 404 trong laravel?

Nói chung, lỗi 404 biểu thị [thứ gì đó] không tìm thấy. .
Nhưng để bắt đầu theo cách chung chung, nếu đó là một url thì hãy thử tìm các tuyến đường đã xác định của bạn. .
Nếu bạn gặp lỗi này đối với bất kỳ tài nguyên nào, hãy đảm bảo rằng đây là tài nguyên công khai và có thể truy cập được [để kiểm tra quyền truy cập, hãy kiểm tra quyền đối với tệp của bạn]

404 not found nghĩa là gì trong laravel?

Lỗi 404 là sự cố phía máy khách cho biết không thể tìm thấy URL được yêu cầu trên máy chủ . Nó có thể xảy ra vì một số lý do, chẳng hạn như tên miền không được trỏ chính xác, bị hỏng. htaccess hoặc quyền của tệp bị định cấu hình sai.

Chủ Đề