2012-02-20 43 views
1

可能重複:
URL redirection in Java return 302 instead of 301SC_MOVED_PERMANENTLY導致302

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

我用這個在我redirectcontroller給重定向301狀態。但是當我在header checker中檢查頁面的標題時,它給出了302(暫時移動)結果。

答:

response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); 
response.setHeader("Location", redirectUrl); 

回答

4

是的,你打電話sendRedirect這是證明這樣的(重點煤礦):

使用指定的重定向發送一個臨時重定向響應客戶端位置網址。

換句話說,當你明確地呼叫sendRedirect時,你的第一行是完全不相關的。如果你想明確它,你可以設置狀態,設置適當的標題,然後讓響應正常結束。

+1

@Downvoter:照顧評論? – 2012-02-20 13:00:24

+0

感謝您的快速回答。我需要添加什麼來使其重定向到301? – 2012-02-20 13:03:32

+0

@ user1173655:正如我所說的 - 自己設置相關的重定向URL頭(我不記得它是什麼),設置狀態,因爲你已經在做,它應該沒問題。 – 2012-02-20 13:13:17