Geo*_*rna 1 php nginx laravel laravel-5
我试图让 Laravel 响应自定义 403 错误,而不是显示默认的 nginx 禁止页面。
我为大多数异常类型都有自定义处理程序,除了 403 之外,它们工作得很好。我在函数中app/Exceptions/Handler.php添加了以下代码来处理 403:Handler.php filerender
if($e instanceof HttpException && $e->getStatusCode() == 403){
return response("403 Forbidden error response");
}
Run Code Online (Sandbox Code Playgroud)
但如果我导航到http://myapp.com/images/ ,我仍然只会看到默认的 nginx 禁止页面
此时我相当确定这是我可能丢失的 nginx 配置,但我不是 100% 确定什么,并且在搜索网络后似乎找不到解决方案。
谢谢
感谢大家的建议和评论,我已经能够找到并解决导致问题的原因。正如 Elias Soares 在上面的评论中提到的,这个问题显然是在 Laravel 到达之前就发生的。我进入 nginx 配置文件并注意到以下行:
error_page 404 /index.php;
Run Code Online (Sandbox Code Playgroud)
由于 Laravel 确实正确处理了 404 错误,所以我只是为 403 添加了完全相同的内容:
error_page 403 /index.php;
Run Code Online (Sandbox Code Playgroud)
现在 Laravel 正在按照我想要的方式处理任何 403 错误。
谢谢!