Java中的URL重定向返回302而不是301

时间:2012-01-06 10:48:33

标签: java redirect http-status-code-301

我正在使用此代码重定向网址:

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

我能看到的是正确的重定向,但响应中返回的值是302而不是301.如何强制它为301?

1 个答案:

答案 0 :(得分:21)

如果您使用sendRedirect,则会将状态重置为302.您必须使用setHeader自行设置 Location 标题,以使用301状态重定向。

示例代码:

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

从这个答案中拉出来: HttpServletResponse sendRedirect permanent