问题描述
我在 Symfony 4.4 Flex 中使用自定义错误模板时遇到了问题。一切都已根据 https://symfony.com/doc/4.4/controller/error_pages.html
的指南正确设置当我使用 /_error/{errorCode}
运行应用程序时,我可以通过 APP_ENV=dev
访问自定义错误模板 - 但是如果我将 APP_ENV
更改为 prod(当然,APP_DEBUG
设置为 false/0),我得到了默认的 Symfony“500 内部服务器错误”页面。我什至在远程主机上部署应用程序后对其进行了测试,当我尝试访问 /random-unexisting-page 时也是同样的问题(已经设置了 error404.html.twig 模板并且它通过 /_error 在'dev'上工作/404)。
我想知道,它与 /config/ 中的其他配置有什么关系吗?您知道可能是什么问题吗?
解决方法
我试了几次,我想我已经理解你的问题了。
所以当你想创建一个个性化的错误页面时,首先你需要在模板目录下添加如下路径,和你的链接说的一样
templates/
└─ bundles/
└─ TwigBundle/
└─ Exception/
├─ error404.html.twig
├─ error403.html.twig
└─ error.html.twig # All other HTML errors (including 500)
最常见的错误是 500,因此您可以添加:error500.html.twig
或只保留通用错误,这取决于您。
重要的是,每当您在目录中添加文件错误或只是对现有文件进行更改时:您必须启动命令以清除缓存(只有在项目没有错误时才能启动此命令)。如果您不这样做,更改将不会被可视化。
步骤:
- 修复错误或从以前的工作构建开始
- 启动清除命令:
php bin\console cache:clear
, 你会得到类似的东西result_of_clear_cache - 刷新页面,您应该会看到新页面
附注。如果您需要一些视觉参考: