404和500状态的自定义错误页面

时间:2014-11-17 10:35:35

标签: php symfony

我想为404和500错误设置不同的错误页面。我怎么能这样做?

我只在生产环境中工作。我重写了twig错误模板并将它们放在app/Resources/TwigBundle/views/Exception文件夹中。

我想在那里创建两个文件:

error404.html.twig
exception_full.html.twig

这样,如果它的404将打开第一个文件,而在任何其他情况下它将打开另一个文件。

我有几个问题:

  • 第一个文件永远不会打开404错误...只有第二个,symfony默认如果它不存在
  • 我无法在它们({% extends '::layout.html.twig' %})中扩展基本模板,因为如果我使用它,模板就不会加载

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

exception_full.html.twig文件名更改为error.html.twig。这对我有用。我有几个error4xx个文件,如果我还没有定义特定代码并且发生异常,它将显示error.html.twig视图。

至于不显示基本模板,您的基本模板到底在哪里?如果您使用的语法为'::layout.html.twig',则layout.html.twig必须位于app/Resources/views/layout.html.twig。如果是这种情况,那么你应该得到一个错误,解释为什么它不会加载。

查看docs了解更多信息。