MethodNotAllowedHttpException重定向到主页

时间:2016-05-07 10:18:05

标签: php laravel laravel-5 laravel-5.1 laravel-5.2

是否可以在laravel 5中发生MethodNotAllowedHttpException时将用户重定向到主页,或者我应修改哪个模板以编辑MethodNotAllowedHttpException的显示

4 个答案:

答案 0 :(得分:5)

打开app/Exception/Handler.php

在这里你会找到一个渲染方法。

在渲染方法中,在return statement

之前添加此行
if($e instanceof MethodNotAllowedHttpException) 
return redirect('/');

不要忘记先导入例外:

use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;

答案 1 :(得分:3)

rfc2616 10.4.6 405 Method Not Allowed

如果您指定.env

,请在Laravel中

APP_ENV=production
APP_DEBUG=false

并创建

resources/views/errors/405.blade.php

每次405代码出现时都会呈现该文件,我认为重定向不可能,但您可以随时将一些javascript添加到405错误模板中,以便重定向用户。

setTimeout(function(){ window.location.href='/'; },10000);

答案 2 :(得分:1)

在成功捕获MethodNotAllowedException之前,您需要先导入正确的名称空间。

use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;

来源:https://www.npmjs.com/package/cordova-plugin-splashscreen

答案 3 :(得分:0)

您可以使用ExceptionHandler

打开app / Exception / Handler.php 改变渲染方法

public function render($request, Exception $e)
{
    if ($e instanceof ModelNotFoundException)
    {
        return \Redirect::to('/');
    }
    return parent::render($request, $e);
}