Symfony Twig自定义错误页面导致报错

Symfony Twig customize error page leads to error

我正在使用 Symfony 2.7.4,我想为 404 代码创建自定义错误页面。 我创建了文件

/Resources/TwigBundle/views/Exception/404.html.twig

http://symfony.com/doc/current/cookbook/controller/error_pages.html#use-default-exception-controller

中所述

但是如果我输入不存在的 URL 会导致错误 500 内部服务器错误(没有 404.html.twig 会导致 404 未找到默认外观的错误)。如何解决?

首先食谱显示了树:

app/
└─ Resources/
   └─ TwigBundle/
      └─ views/
         └─ Exception/
            ├─ error404.html.twig

您有一个“404.html.twig”,因此应该回退到一般错误模板。

进入调试模式并检查服务器错误的详细信息。

可能为时已晚,但您的问题与 404.html.twig 文件源有关。

http://symfony.com/doc/current/controller/error_pages.html#use-default-exception-controller404.html.twig 页面的示例有第 {% extends 'base.html.twig' %} 行。 这条线让你所有的问题。删除它,您的自定义 404 将按预期工作。

这个命令在覆盖 twig 包错误模板后帮助了我:

如果您在新位置添加模板,即使您处于调试模式,也可能需要清除缓存:

php bin/console cache:clear

https://symfony.com/doc/current/bundles/override.html#templates https://symfony.com/doc/current/controller/error_pages.html#overriding-the-default-error-templates