当前位置:Gxlcms > PHP教程 > laravel路由问题

laravel路由问题

时间:2021-07-01 10:21:17 帮助过:24人阅读

laravel HTTP路由可带正则表达式验证,不符合规则的会报错,这样不友好,该如何设置报错信息?

Route::get('user/{name}', function($name)
{
    //
})
->where('name', '[A-Za-z]+');

Route::get('user/{id}', function($id)
{
    //
})
->where('id', '[0-9]+');

回复内容:

laravel HTTP路由可带正则表达式验证,不符合规则的会报错,这样不友好,该如何设置报错信息?

Route::get('user/{name}', function($name)
{
    //
})
->where('name', '[A-Za-z]+');

Route::get('user/{id}', function($id)
{
    //
})
->where('id', '[0-9]+');

php/**
     * Render the given HttpException.
     *
     * @param  \Symfony\Component\HttpKernel\Exception\HttpException  $e
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function renderHttpException(HttpException $e)
    {
        if (view()->exists('errors.'.$e->getStatusCode()))
        {
            return response()->view('errors.'.$e->getStatusCode(), [], $e->getStatusCode());
        }
        else
        {
            return (new SymfonyDisplayer(config('app.debug')))->createResponse($e);
        }
    }
  比如你想自定义 404 错误页面的话,只要创建一个 resources/views/errors/404.blade.php 的视图文件  
404内容自定义了

线上debug是必须关闭的,而且可以自定义404页面

NotFoundHttpException 异常,在 app/Exceptions/Handler 里捕获一下

直接放个404页面到errors文件夹即可。

人气教程排行