HttpServletResponse sendRedirect permanent
这将重定向具有临时 302 HTTP 状态代码的请求:
HttpServletResponse response;
response.sendRedirect("http://somewhere");
但是是否可以使用永久的301 HTTP状态代码重定向它?
这将重定向具有临时 302 HTTP 状态代码的请求:
HttpServletResponse response;
response.sendRedirect("http://somewhere");
但是是否可以使用永久的301 HTTP状态代码重定向它?
您需要手动设置响应状态和标头。Location
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", "http://somewhere/");
将状态设置为“之前”将不起作用,因为会将其覆盖到“之后”。sendRedirect()
sendRedirect()
SC_FOUND
我使用了以下代码,但不适合我。
String newURL = res.encodeRedirectURL("...");
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.sendRedirect(newURL);
然后我尝试了这段代码,它为我工作
String newURL = res.encodeRedirectURL("...");
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", newURL);
这对我有用,我有同样的问题