In web applications is common to use the 301 HTTP status code to make
permanent redirections and the 302 code to make temporary redirections.
However, a problem with these redirection types is that a POST request is
transformed into a GET request when doing the redirection for legacy
reasons (redirecting a POST request didn't work well in old browsers).
In order to solve these issues, the HTTP standard introduced two new status codes:
307(Temporary Redirect): defined in RFC 7231 and similar to302(Found), except that it does not allow changing the request method fromPOSTtoGET.308(Permanent Redirect): defined in RFC 7538 and similar to301(Moved Permanently), except that it does not allow changing the request method fromPOSTtoGET.
In Symfony 4.1 we added support for these new redirection types by adding a new
keepRequestMethod argument to the redirectAction() and
urlRedirectAction() methods of the RedirectController. You can also use
it as the keepRequestMethod option in the route definitions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
route_301:
# ...
defaults:
# ...
permanent: true
route_302:
# ...
defaults:
# ...
permanent: false
route_307:
# ...
defaults:
# ...
permanent: false
keepRequestMethod: true
route_308:
# ...
defaults:
# ...
permanent: true
keepRequestMethod: true
Did I miss something or should it be: ...is transformed into a GET s/response/request/ when...?
@Franklin you are right! I've fixed it. Thanks for the heads up!