2012-01-06 18 views
5

sto usando questo codice per reindirizzare URL:URL di reindirizzamento in Java restituire 302 invece di 301

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

quello che posso vedere è un reindirizzamento corretto, ma il valore restituito nella risposta è 302 invece di 301. Come posso forzarlo a 301?

risposta

19

Se si utilizza sendRedirect, si ripristinerà lo stato di 302. Dovrete usare SetHeader per impostare la posizione intestazione te stesso per reindirizzare utilizzando uno stato 301.

codice Esempio:

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

Tirato da questa risposta: HttpServletResponse sendRedirect permanent

+0

ho fatto l'aggiunta di questa: response.setHeader ("Location", newUrl); \t \t response.setHeader ("Connection", "close"); ma non funziona – Randomize

+0

Si prega di definire "non funziona". –

+0

Trovato il problema :) funziona ora, ho dimenticato di rimuovere response.sendRedirect (newURL); scusate ragazzi! – Randomize

Problemi correlati