我正在使用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
中,在开发区和实际网站上都没有,您可以看到自定义或默认错误页面。
我到处寻找这个页面如何被调用,但是如果你知道怎么做我找不到任何东西,或者我在哪里可以找到关于这个的文档我会非常感激。
- 我知道这个问题可能会被视为过于宽泛,但我真的在谷歌上找不到任何关于此的内容,任何帮助都会很好 -
答案 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)
似乎你有点误解了文档
您可以自定义生产环境的错误页面,但是当您将本地前端控制器称为app_dev.php时,您将看不到该自定义页面。所以请调用app.php
关于routing_dev.yaml
添加此路线后,您可以使用
等网址http://localhost/app_dev.php/_error/ {的StatusCode} http://localhost/app_dev.php/_error/ {的StatusCode}。{格式}
预览给定状态代码的错误页面为HTML或 给定状态代码和格式。
正如您所看到的,它只会创建其他链接以通过访问该链接直接预览自定义页面。因此,如果你打电话给http://localhost/app_dev.php/_error/404.html,你会看到该页面的预览将出现在“未找到”的制作中