如何在Laravel 4

时间:2015-05-21 21:11:04

标签: php apache laravel http-status-code-403

目前我在start / global.php上设置了错误页面,因为它是在Laravel文档中推荐的。

以下是代码:

App::error(function(Exception $exception, $code)
{
    if ( ! Config::get('app.debug'))
    {
        $view = (View::exists("error/{$code}")) ? "error/{$code}" : "error/404";
        return Response::view($view);
    }
}

我的观点是

app/views/error/*

我已经成功测试了503,500和400,但错误页面403显示默认的默认apach,如图所示:

enter image description here

不确定为什么会发生这种情况

可能我用错误的方式测试了403页... 我知道如果运行App :: abort(403)我可以测试第403页,但我正在寻找一种方法来验证它在真实案例中的工作情况。

也许我的Apache配置崩溃了Laravel自定义错误页面?

提前致谢,

2 个答案:

答案 0 :(得分:1)

ErrorDocument不允许在DocumentRoot之外定位,因此您唯一的选择是使用Alias

将以下行添加到.htaccess文件夹中的public

ErrorDocument 403 /errors/403.blade.php

以及VirtualHost定义中的以下行(Alias中不允许.htaccess

Alias /errors/ /path/to/resources/views/errors/

答案 1 :(得分:0)

授予img文件夹chmod -R 0765 img

的权限