Symfony 4.4 - 自定义错误模板不起作用

问题描述 投票:0回答:1

在 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/ 中的其他配置有什么关系吗?您知道问题出在哪里吗?

symfony symfony4
1个回答
0
投票

我做了一些尝试,我想我已经理解了你的问题。

所以当你想创建个性化的错误页面时,首先你需要在模板目录下添加以下路径,与你的链接所说的相同

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
  • 刷新页面,您应该会看到新页面

PS。如果您需要一些视觉参考:

路径

错误文件

浏览器上的结果

© www.soinside.com 2019 - 2024. All rights reserved.