我有两个网站,A和B.当我打开网站A时,我会被自动重定向到网站B.
我可以通过哪些功能检查网站A的完整路径是什么,重定向是什么?
我试图开始:
logger.info(request.getPathInfo());
logger.info(request.getPathTranslated());
logger.info(request.getServletPath());
logger.info(request.getLocalName());
logger.info(request.getRemoteAddr());
logger.info(request.getRemoteHost());
logger.info(request.getRequestURI());
logger.info(request.getServerName());
但没有一个是正确的。
对于重定向,我在Controller中使用 response.sendRedirect 。
感谢您的帮助。
答案 0 :(得分:3)
您可以尝试使用可选的 referer 标题:
request.getHeader("referer");
但重要的是要注意,这可能并不总是填充(特别是IE)。
如果您控制两个网站,更好的解决方案是在进行重定向时以某种方式传递值。例如,作为GET或POST参数。
编辑:
如上所述,您可以将查询字符串附加到重定向网址。例如,您可以尝试这样的事情:
String redirectUrl = "http://my.redirect.com/";
redirectUrl += "?referer=";
redirectUrl += URLEncoder.encode(request.getRequestURL().toString(), "UTF-8");
然后你可以把它从另一方的请求中拉出来。
以此为出发点。您可能需要手动附加可能不属于getRequestURL()
输出的其他查询参数。
答案 1 :(得分:1)
这些都不会为您提供将您重定向到当前页面的页面。您可以尝试的是:
String refererPage = request.getHeader("referer");
但请记住,这也取决于浏览器,可能并不总是存在。
答案 2 :(得分:0)
试试这个
request.getHeader("referer");
答案 3 :(得分:0)
请尝试
request.getHeader("referer");