diff --git a/routing/slash_in_parameter.rst b/routing/slash_in_parameter.rst index afa24304ee1..56714c135fc 100644 --- a/routing/slash_in_parameter.rst +++ b/routing/slash_in_parameter.rst @@ -77,6 +77,15 @@ a more permissive regular expression for it: That's it! Now, the ``{token}`` parameter can contain the ``/`` character. +.. note:: + + If the route includes the special ``{_format}`` placeholder, you shouldn't + use the ``.+`` requirement for the parameters that allow slashes. For example, + if the pattern is ``/share/{token}.{_format}`` and ``{token}`` allows any + character, the ``/share/foo/bar.json`` URL will consider ``foo/bar.json`` + as the token and the format will be empty. This can be solved replacing the + ``.+`` requirement by ``[^.]+`` to allow any character except dots. + .. note:: If the route defines several placeholders and you apply this permissive