自定义 404 laravel
Custom 404 laravel
如果我们只是在 resources/views/error
中创建一个 404.blade.php
页面,它会工作正常,但 Auth() 将无法在 404 页面上工作,以解决如果我们遵循 Whosebug 上可用的解决方案,Laravel 身份验证错误将停止工作。我使用以下解决方案来完成这项工作。
创建自定义视图
resources/views/errors/404.blade.php
在route.php
Route::any('{catchall}', 'PageController@notfound')->where('catchall', '.*');
创建PageController
并添加此功能
public function notfound()
{
return view('errors.404');
}
在您的 Exceptions/Handler.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;
现在您可以在代码数组中传递动态值
对于 Laravel 5.6 及更高版本,您可以在 routes\web.php
:
中使用 fallback
Route::fallback('MyController@show404');
它作为 "catch all" 路线工作。
不确定这是否有帮助。 Laravel 有一个 PHP artisan 命令来发布错误页面。 Laravel Custom HTTP Error Pages
在你 运行 这个 artisan 命令之后使用 @KFoobar 建议的 Route:fallback()
方法。如果使用闭包函数,则无需使用控制器。确保在路由文件的末尾添加以下路由。
//Fallback/Catchall Route
Route::fallback(function () {
return view('errors.layout');
});
我的无耻插件BLOG
如果我们只是在 resources/views/error
中创建一个 404.blade.php
页面,它会工作正常,但 Auth() 将无法在 404 页面上工作,以解决如果我们遵循 Whosebug 上可用的解决方案,Laravel 身份验证错误将停止工作。我使用以下解决方案来完成这项工作。
创建自定义视图
resources/views/errors/404.blade.php
在route.php
Route::any('{catchall}', 'PageController@notfound')->where('catchall', '.*');
创建PageController
并添加此功能
public function notfound()
{
return view('errors.404');
}
在您的 Exceptions/Handler.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;
现在您可以在代码数组中传递动态值
对于 Laravel 5.6 及更高版本,您可以在 routes\web.php
:
fallback
Route::fallback('MyController@show404');
它作为 "catch all" 路线工作。
不确定这是否有帮助。 Laravel 有一个 PHP artisan 命令来发布错误页面。 Laravel Custom HTTP Error Pages
在你 运行 这个 artisan 命令之后使用 @KFoobar 建议的 Route:fallback()
方法。如果使用闭包函数,则无需使用控制器。确保在路由文件的末尾添加以下路由。
//Fallback/Catchall Route
Route::fallback(function () {
return view('errors.layout');
});
我的无耻插件BLOG