0

我正在支持基于 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

而且我可以确定该策略在开发中正确应用,因为响应是“中止!” 正如预期的那样,但不是在生产中,因为响​​应仍然是空白页。

为了完整起见,我可以说当路线正确时响应通常是正确的。

4

1 回答 1

0

我自己解决了。似乎这些问题完全具有误导性,因为可能我的本地工作区已损坏。今天我删除了我的本地 GIT 存储库,我再次克隆了远程 GIT 存储库,我在 Zend Studio 中打开了项目,将本地项目与远程服务器同步(开发部署),再次应用了自定义错误页面的模板......以及一切在生产环境中按预期工作。

于 2013-09-27T12:57:27.790 回答