如何使Laravel 5返回404状态码 [英] How to make Laravel 5 return 404 status code

查看:43
本文介绍了如何使Laravel 5返回404状态码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试让Laravel 5(5.1.31)在找不到页面时返回http状态响应404。我尝试了几种方法,但总是返回200。

在我的控制器中有以下内容:

else
   {
   header('HTTP/1.0 404 Not Found');
   return view('errors.404);
   }

我也尝试过:

else
   {
   http_response_code(404);
   return view('errors.404);
   }

else
   {
   abort(404, 'Page not found');
   }

我也试过把这个放进404刀片

@inject( 'response', 'IlluminateHttpResponse' )
{{ $response->status(404) }}

没有成功。不管我怎么试,拉威尔都会返回200。如何使其返回404?

推荐答案

虽然我不知道为什么Abort没有按照预期返回404状态,但我找到了一个解决方案,可以使Laravel返回404状态:

以下是我所做的:

else {
    $data['title'] = '404';
    $data['name'] = 'Page not found';
    return response()
        ->view('errors.404',$data,404);
}

这实际上更符合我的目的,因为它不会像中止操作那样扰乱404刀片的内容。

这篇关于如何使Laravel 5返回404状态码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆