这将使用临时 302 HTTP状态代码重定向请求:
HttpServletResponse response;
response.sendRedirect("http://somewhere");
但是可以使用永久 301 HTTP状态代码重定向它吗?
答案 0 :(得分:93)
您需要手动设置响应状态和Location
标题。
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", "http://somewhere/");
将sendRedirect()
赢得sendRedirect()
之前的状态设置为SC_FOUND
后会将其覆盖为{{1}}。
答案 1 :(得分:-1)
我使用了以下代码,但对我没有用。
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);
这对我有用,我有同样的问题