我正在支持基于 Symfony 2.1 并且以前由其他人开发的 Web 应用程序。我现在的任务是尝试添加自定义的错误页面。
我所做的只是添加以下文件:
/app/Resources/TwigBundle/views/Exception/
|-error404.html.twig
|-error500.html.twig
|-exception_full.html.twig
所有这些都具有以下内容:
<!DOCTYPE html>
<html>
<body>
<p>Errore!</p>
</body>
</html>
错误页面在开发环境中正确显示,例如,在 app_dev.php 上错误地键入了路由。为了覆盖调试错误页面,我使用了 exception_full 模板(包含在上面的列表中)。
不幸的是,当我在表单中使用 url 时,我在 prod 配置中没有得到相同的行为
http://[..host..]/web/app.php/[..wrong route..]
有谁知道我在这里缺少什么?我还尝试进一步检查添加以下内容的 ExceptionController:
echo "Abort!";
exit;
在函数 findTemplate(...) 的开头:
/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
而且我可以确定该策略在开发中正确应用,因为响应是“中止!” 正如预期的那样,但不是在生产中,因为响应仍然是空白页。
为了完整起见,我可以说当路线正确时响应通常是正确的。