symfony - 如何显示自定义的 404 错误页面 - Symfony2

标签 symfony twig

我的 Controller 中有这个:

if(some stuff) {
    throw $this->createNotFoundException('message');
}

当我在 dev env 中测试它时,我得到了 Symfony 的页面,告诉我的文本检测到异常,但我无法在 prod env 中测试它:( 我运行这个 php app/console cache:clear --env=prod --no-debug 然后只在 URL app_dev.php 中替换为 app.php 但工具栏和Symfony 的错误页面保留。

我创建了这个文件 - app/Resources/TwigBundle/views/Exception/error.html.twig 。那么它会在 prod 中呈现吗?

这是在里面:
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>An Error Occurred: {{ status_text }}</title>
</head>
<body>
    <h1>Oops! An Error Occurred</h1>
    <h2>The server returned a "{{ status_code }} {{ status_text }}".</h2>
</body>
</html>

我应该在哪里给出 status_codestatus _text 的值?或者它们是从异常中取出的?

所以总的来说,我想要做的是当 Controller Action 中的条件为真时,我的自定义错误页面将显示在 prod env 中。我已经成功了吗,如果没有,如何制作以及如何在 prod env 中查看结果?

最佳答案

我也尝试过,我注意到放置在 app/Resources/TwigBundle/views/Exception/error.html.twig 中的自定义错误页面只能在 prod 环境中工作。

关于symfony - 如何显示自定义的 404 错误页面 - Symfony2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634961/

相关文章:

javascript - 如何使用 Javascript Twig 模板正确包含 Javascript

php - Symfony - 如何知道控制台命令是从 Controller 运行还是从终端运行?

Symfony2-使用eventListener修改表单字段

symfony - 从 Twig 中的字符串中删除 '\'

php - symfony2 表单禁用

Symfony2 Twig 停止转义路径

symfony - Alice Faker 库从数组中随机选择

php - Symfony2,如何改变环境?

symfony - 按翻译值排序的表单实体

arrays - Twig 在一个数组中合并多个事物