2012-01-06 10 views
5

Estoy usando este código para redirigir url:redirección de URL en Java retorno 302 en lugar de 301

response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); 
    response.sendRedirect(newURL); 

lo que puedo ver es un cambio de dirección correcta, pero el valor devuelto en la respuesta es 302 en lugar de 301. ¿Cómo puedo forzarlo a 301?

Respuesta

19

Si utiliza sendRedirect, se restablecerá el estado de 302. Usted tendrá que usar setHeader para establecer la ubicación cabecera de sí mismo para redirigir el uso de un estado 301.

código Ejemplo:

response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); 
response.setHeader("Location", "http://somewhere/"); 

sacado de esta respuesta: HttpServletResponse sendRedirect permanent

+0

lo hice añadiendo esto: response.setHeader ("Lugar", NEWURL); \t \t response.setHeader ("Conexión", "cerrar"); pero no funciona – Randomize

+0

Defina "no funciona". –

+0

Encontré el problema :) está funcionando ahora, olvidé eliminar response.sendRedirect (newURL); ¡lo siento chicos! – Randomize

Cuestiones relacionadas