laravel 5 custom 404

Это сводит меня с ума. Я работаю с Laravel 5, и похоже, что документы для 4.2 и генерация 404 страниц не работают.

Во-первых, нет global.php, поэтому я попытался поместить следующее в routes.php:

App::missing(function($exception) { return Response::view('errors.missing', array(), 404); }); 

Это приводит к ошибке «метод missing () не найден»

Для параметра Debug установлено значение false.

Я искал и искал, но пока не нашел информации о настройке 404 страниц в Laravel 5. Поблагодарил бы за любую помощь.

Related of "laravel 5 custom 404"

Перейдите к ресурсам / представлениям / ошибкам и создайте файл 404.blade.php с тем, что вы хотите на своей странице 404, и Laravel позаботится обо всем остальном.

если вы хотите иметь какое-то глобальное решение, вы можете внести изменения в /app/Exceptions/Handler.php, добавив следующий код

 public function render($request, Exception $e) { if ($this->isHttpException($e)) { $statusCode = $e->getStatusCode(); switch ($statusCode) { case '404': return response()->view('layouts/index', [ 'content' => view('errors/404') ]); } } return parent::render($request, $e); } 

Мне нравится подход к описанию дела, но у него есть некоторые проблемы, идущие на глубину.

Тем не менее, это уловляет все ошибки:

 Route::any('/{page?}',function(){ return View::make('errors.404'); })->where('page','.*'); 

В Laravel 5 вы можете просто добавить пользовательский файл 404.blade.php в зависимости от ресурсов / представлений / ошибок и все. Для других ошибок, таких как 500, вы можете попробовать следующее в своем приложении / Exeptions / Handler.php :

 public function render($request, Exception $e) { if ( ! config('app.debug') && ! $this->isHttpException($e)) { return response()->view('errors.500'); } return parent::render($request, $e); } 

И сделайте то же самое для 500 HTTP Exeptions

Laravel 5 уже имеет предопределенный метод визуализации (строка 43) в приложении / Исключения / Handler.php. Просто вставьте код перенаправления перед parent :: render. Вот так,

 public function render($request, Exception $e) { if ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } //insert this snippet if ($this->isHttpException($e)) { $statusCode = $e->getStatusCode(); switch ($statusCode) { case '404': return response()->view('error', array(), 404); } } return parent::render($request, $e); } 

Примечание. Мое мнение связано с ресурсами / представлениями. Вы можете как-то положить его куда угодно.