LINUX.ORG.RU

Как в Laravel 5.5 сделать кастомные страницы с ошибками?

 , page, ,


0

1

В документации написано, что чтобы сделать кастомные страницы с ошибками, достаточно создать каталог resources/views/errors, а в нем файлы вида 404.blade.php

https://laravel.com/docs/5.5/errors#custom-http-error-pages

Я сделал так, насоздавал в resources/views/errors файлы:

404.blade.php
419.blade.php
429.blade.php
500.blade.php
503.blade.php
layout.blade.php


Но проблема в том, что все равно показываются стандартные страницы с ошибкой. Сбросил все виды кеша - толку никакого.

Нашел еще решение, что для того, чтобы эти страницы заработали, нужно изменить метод render() в файле app/Exceptions/Handler.php:

    public function render($request, Exception $exception) {
        
        info("In Exception render");
        
        // Отрисовка самодельных страниц с ошибками
        if ($this->isHttpException($exception)) {
            
            info("Detect Exception with code ".$exception->getStatusCode());
            
            if (view()->exists('errors.' . $exception->getStatusCode())) {
                return response()->view('errors.' . $exception->getStatusCode(), [], $exception->getStatusCode());
            }
        }
        
        return parent::render($request, $exception);
    }


Но проблема в том, что когда происходит ошибка, например 404, до этого метода render() дело не доходит. Строки «In Exception render» в логе не появляется, и рисуется стандартная страница.

Вопрос: как правильно сделать свои собственные страницы об ошибке?

★★★★★
Ответ на: комментарий от goingUp

Все, затупил. Я делал на сервере разработки, а смотрел на боевом сервере.

Xintrea ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.