有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在使用以下代码重定向url:

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

我看到的是正确的重定向,但响应中返回的值是302而不是301。我怎样才能强制它到301


共 (1) 个答案

  1. # 1 楼答案

    如果使用sendRedirect,它会将状态重置为302。您必须使用setHeader将位置头设置为使用301状态重定向

    示例代码:

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

    从这个答案中可以看出: HttpServletResponse sendRedirect permanent