【发布时间】:2016-01-09 16:31:07
【问题描述】:
我是 laravel 的新手。我想根据请求的 url 显示自定义 404 错误。
示例:
site.com/somepage
和
site.com/admin/somepage
我已经看到 this 的答案,但它适用于 laravel 4。我找不到 Laravel 5.1 的等效答案
请帮忙。谢谢!
-- 答案--
我的代码基于Abdul Basit的建议
//Handle Route Not Found
if ($e instanceof NotFoundHttpException) {
//Ajax Requests
if ($request->ajax() || $request->wantsJson()) {
$data = [
'error' => true,
'message' => 'The route is not defined',
];
return Response::json($data, '404');
} else {
//Return view
if (Request::is('admin/*')) {
return Response::view('admin.errors.404', array(), 404);
} else {
return Response::view('errors.404', array(), 404);
}
}
}
//Handle HTTP Method Not Allowed
if ($e instanceof MethodNotAllowedHttpException) {
//Ajax Requests
if ($request->ajax() || $request->wantsJson()) {
$data = [
'error' => true,
'message' => 'The http method not allowed',
];
return Response::json($data, '404');
} else {
//Return view
if (Request::is('admin/*')) {
return Response::view('admin.errors.404', array(), 404);
} else {
return Response::view('errors.404', array(), 404);
}
}
}
【问题讨论】:
-
你试过了吗,可能它也适合
5.1 -
我找不到 app/start/global.php 文件
标签: php laravel http-status-code-404 laravel-5.1