Cela redirecta une demande avec un code d’état temporaire 302 HTTP:
HttpServletResponse response; response.sendRedirect("http://somewhere");
Mais est-il possible de le redirect avec un code d’état permanent 301 HTTP?
Vous devez définir l’état de la réponse et l’en-tête de l’ Location
manuellement.
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader("Location", "http://somewhere/");
Définir le statut avant sendRedirect()
ne fonctionnera pas car sendRedirect()
SC_FOUND
ensuite par SC_FOUND
.
J’ai utilisé le code suivant, mais n’a pas fonctionné pour moi.
Ssortingng newURL = res.encodeRedirectURL("..."); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.sendRedirect(newURL);
alors j’ai essayé ce morceau de code cela a fonctionné pour moi
Ssortingng newURL = res.encodeRedirectURL("..."); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader("Location", newURL);
cela a fonctionné pour moi, j’avais le même problème
comment définir le statut à 301 lors de la redirection