我的web.php中有多个发布请求。如果任何用户手动编写URL,则他/她会收到错误消息,因为他/她的http方法错误。如果他们尝试这样做,我想手动向他们发送错误404页面。
我想做的就是这个
Route::post('/submit','Controller@apply');
Route::get('/submit', ); //do something here to return 404 page
答案 0 :(得分:2)
Route::get('/submit', function () { return abort(404); });
答案 1 :(得分:1)
您可以在laravel提供的异常处理程序中处理此错误,然后将其发送到404视图。您可以访问 App \ Exceptions \ Handler 。在这里,如果您只想使用 report方法报告异常,但是要显示404视图,则需要使用 render方法。在渲染中,我们可以将异常转换为http响应。在这里,您可以使用使用Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 未找到的异常并返回404。还可以使用 abort 助手在处理程序中处理异常。例如
abort(404); //To create an exception (if manually creating exception)
//Hnadling exception in handler
public function render($request, Exception $e) {
if ($e instanceof ModelNotFoundException) {
return response()->view('errors.404-view', [], 500);
}
return parent::render($request, $e);
}
在这里您可以使用 resources / views / errors / 404.blade.php 。 有关错误处理的更多信息,请使用this 希望这会有所帮助