我在 error.php 中有以下代码,它是在我的 Controller 中使用 App::abort(404, $error)
触发的。我的响应状态代码仍然是 200(ok)。我尝试了各种错误代码,例如 400、403
// NotFoundException handler
App::error(function(NotFoundException $e)
{
$default_message = 'The requested resource was not found';
return Response::json(array(
'error' => $e->getMessage() ?: $default_message,
), 404);
});
最佳答案
对于仍在谷歌搜索此问题的任何人:
我为这个问题苦苦挣扎了几个小时。对我来说,问题是由我的一个 Controller 的问题引起的。
检查所有 Controller 并确保 <?php
前面没有空格标签。 < ?php
标签应该是文件中的第一件事。 <?php
前面的一个空格在任何这样路由的 Controller 中标记:
Route::controller('example', 'ExampleController');
将导致所有状态代码为 200。
关于php - Laravel 4 总是返回 HTTP 状态码 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16724772/