Custom 404 laravel - PullRequest
       19

Custom 404 laravel

1 голос
/ 24 января 2020

Если мы просто создадим страницу 404.blade.php в resources/views/error, она будет работать нормально, но Auth () не будет работать на странице 404, чтобы решить это, если мы будем следовать решению, доступному в stackoverflow Laravel ошибки аутентификации перестанут работать. Я использую следующее решение, чтобы сделать работу.

Ответы [ 4 ]

2 голосов
/ 24 января 2020

Для Laravel 5.6 и более поздних версий вы можете использовать fallback в вашем routes\web.php:

Route::fallback('MyController@show404');

. Он работает как «поймать все».

См. Документы здесь .

1 голос
/ 24 января 2020

Создать пользовательский вид

resources/views/errors/404.blade.php

в маршруте. php

Route::any('{catchall}', 'PageController@notfound')->where('catchall', '.*');

создать PageController и добавить эту функцию

public function notfound() 
{ 
    return view('errors.404'); 
}

0 голосов
/ 31 января 2020

Не уверен, поможет ли это. Laravel имеет команду PHP artisan для публикации sh страниц с ошибками. Laravel Пользовательские страницы ошибок HTTP

После запуска этой кустарной команды используйте метод Route:fallback(), как рекомендовано @KFoobar. Если вы используете функцию закрытия, нет необходимости использовать контроллер. Обязательно добавьте следующий маршрут в конец вашего файла маршрутов.

   //Fallback/Catchall Route
   Route::fallback(function () {
       return view('errors.layout');
   });

Бесстыдный плагин для моего BLOG

0 голосов
/ 24 января 2020

Напишите код ниже в вашем Исключении / Обработчике. php

if($this->isHttpException($exception)){
   if(view()->exists('errors.'.$exception->getStatusCode())){
        $code = array('status'=>$exception->getStatusCode());
          return response()->view('errors.404',compact('code'));
       }
   }

Теперь создайте новый файл в вашем представлении, т.е. errors / 404;

Теперь в массиве кода вы можете передать Dynami c значения

...