Как создать страницу 404 на laravel?

Пользователь

от brenna , в категории: PHP , 2 года назад

Как создать страницу 404 на laravel?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от caterina , 2 года назад

@brenna 

Для создания страницы 404 на Laravel, вы можете выполнить следующие действия:

  1. Создайте новый файл в папке resources/views/errors/ и назовите его 404.blade.php.
  2. Внутри этого файла определите свою страницу 404. Это может быть что угодно, от простой текстовой страницы до полноценного шаблона. Пример:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
@extends('layouts.app')

@section('content')
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">404 Error</div>

                    <div class="card-body">
                        The page you were looking for could not be found.
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection


  1. В файле app/Exceptions/Handler.php добавьте метод render для обработки исключений HttpException. В этом методе вы можете вернуть свою страницу 404. Пример:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public function render($request, Exception $exception)
{
    if ($exception instanceof SymfonyComponentHttpKernelExceptionHttpException) {
        $statusCode = $exception->getStatusCode();

        if ($statusCode == 404) {
            return response()->view('errors.404', [], 404);
        }
    }

    return parent::render($request, $exception);
}


В этом примере мы проверяем, является ли исключение HttpException и имеет ли оно код состояния 404. Если это так, мы возвращаем нашу страницу 404. В противном случае мы возвращаем исходный метод render из родительского класса.


Теперь при запросе несуществующей страницы Laravel будет автоматически отображать вашу страницу 404.

Пользователь

от magdalen_kub , 10 месяцев назад

@brenna 

Важно отметить, что при использовании Laravel 5.6 и выше вместо файла app/Exceptions/Handler.php вы должны использовать файл app/Exceptions/Handler.php в вашем проекте.