自定义错误页面未显示

时间:2016-03-16 15:41:10

标签: php symfony twig

我正在使用php框架symfony和twig做一个网站。我想为404或500之类的错误显示自定义页面。我看到here如何进行自定义页面,我在app/Resources/TwigBundle/views/Exception/error.html.twig中有error.html.twig,但似乎没有被调用,我也在使用

_errors:
    resource: "@TwigBundle/Resources/config/routing/errors.xml"
    prefix:   /_error

routing_dev.yaml中,在开发区和实际网站上都没有,您可以看到自定义或默认错误页面。

我到处寻找这个页面如何被调用,但是如果你知道怎么做我找不到任何东西,或者我在哪里可以找到关于这个的文档我会非常感激。

- 我知道这个问题可能会被视为过于宽泛,但我真的在谷歌上找不到任何关于此的内容,任何帮助都会很好 -

2 个答案:

答案 0 :(得分:0)

error.html.twig将在生产中显示任何HTTP错误(例如401 / 404/500等);通过访问您主机上的/made-up-path来尝试。

您无法直接在dev AFAIK中检查此捕获所有error.html.twig,但您可以检查自定义404错误页面。我所做的是将error.html.twig重命名为error404.html.twig,然后使用/app_dev.php/_error/404.html在开发环境中对此进行测试。 as described here。当它工作时重命名回error.html.twig

请记住,在您希望在prod环境中看到任何更改后清除缓存。

遗憾的是,你无法测试全能error.html.twig

答案 1 :(得分:0)

似乎你有点误解了文档

  1. 您可以自定义生产环境的错误页面,但是当您将本地前端控制器称为app_dev.php时,您将看不到该自定义页面。所以请调用app.php

  2. 关于routing_dev.yaml

  3.   

    添加此路线后,您可以使用

    等网址      

    http://localhost/app_dev.php/_error/ {的StatusCode}   http://localhost/app_dev.php/_error/ {的StatusCode}。{格式}

         

    预览给定状态代码的错误页面为HTML或   给定状态代码和格式。

    正如您所看到的,它只会创建其他链接以通过访问该链接直接预览自定义页面。因此,如果你打电话给http://localhost/app_dev.php/_error/404.html,你会看到该页面的预览将出现在“未找到”的制作中