2012-01-06 24 views
5

Tôi đang sử dụng mã này để chuyển hướng url:chuyển hướng URL trong Java trở lại 302 thay vì 301

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

gì tôi có thể thấy là một chuyển hướng đúng nhưng giá trị trả lại trong phản ứng là 302 thay vì 301. Làm thế nào tôi có thể ép nó đến 301?

Trả lời

19

Nếu bạn sử dụng sendRedirect, nó sẽ đặt lại trạng thái thành 302. Bạn sẽ phải sử dụng setHeader để tự đặt tiêu đề Vị trí chuyển hướng bằng trạng thái 301.

Ví dụ mã:

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

Kéo từ câu trả lời này: HttpServletResponse sendRedirect permanent

+0

tôi đã làm nó thêm này: response.setHeader ("Location", NEWURL); \t \t response.setHeader ("Kết nối", "đóng"); nhưng nó không hoạt động – Randomize

+0

Vui lòng xác định "không hoạt động". –

+0

Tìm thấy vấn đề :) nó hoạt động ngay bây giờ, tôi quên xóa response.sendRedirect (newURL); xin lỗi các bạn! – Randomize

Các vấn đề liên quan