【发布时间】:2013-10-02 15:03:41
【问题描述】:
我正在为基于 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
我可以确定该策略在 dev 中得到了正确应用,因为响应是“Abort!”正如预期的那样,但不是在生产中,因为响应仍然是空白页。
为了完整起见,我可以说当路线正确时响应通常是正确的。
【问题讨论】:
标签: php symfony-2.1