@@ -50,10 +50,21 @@ create a new file with the same name in the
50
50
``app/Resources/FrameworkBundle/views/Exception `` directory. This is the
51
51
standard way of overriding any template that lives inside a bundle.
52
52
53
- The debug-friendly exception pages shown to the developer can even be
54
- customized in the same way by creating templates such as
55
- ``exception.html.twig `` for the standard HTML exception page or
56
- ``exception.json.twig `` for the JSON exception page.
53
+ You can also provide specific templates according to the HTTP status code. For
54
+ instance, create a
55
+ ``app/Resources/FrameworkBundle/views/Exception/error404.html.twig `` template
56
+ to display a special page for 404 (page not found) errors.
57
+
58
+ Symfony uses the following algorithm to determine which template to use:
59
+
60
+ * First, it looks for a template for the given format and status code (like
61
+ ``error404.json.twig ``);
62
+
63
+ * If it does not exist, it looks for a template for the given format (like
64
+ ``error.json.twig ``);
65
+
66
+ * If it does not exist, it falls back to the HTML template (like
67
+ ``error.html.twig ``).
57
68
58
69
.. tip ::
59
70
@@ -63,3 +74,10 @@ customized in the same way by creating templates such as
63
74
``vendor/symfony/src/Symfony/Bundle/FrameworkBundle ``. Often, the easiest
64
75
way to customize an error page is to copy it from the ``FrameworkBundle ``
65
76
into ``app/Resources/FrameworkBundle/views/Exception `` and then modify it.
77
+
78
+ .. note ::
79
+
80
+ The debug-friendly exception pages shown to the developer can even be
81
+ customized in the same way by creating templates such as
82
+ ``exception.html.twig `` for the standard HTML exception page or
83
+ ``exception.json.twig `` for the JSON exception page.
0 commit comments