【发布时间】:2013-07-16 06:53:26
【问题描述】:
我正在覆盖HttpServletResponseWrapper.sendRedirect() 方法。通常,重定向 URL 将以 http 或 https 开头。但是我们确实遇到了一些这样的 URL:
//www.google.com.
当您在 js 中将此 URL 分配给 window.location 时,此 URL 有效。但是,如果我们尝试重定向此 URL,它将失败。因为它会一直认为是相对路径。
你知道如何正确重定向这样的网址吗?
【问题讨论】:
-
根据我的经验,您需要地址的“协议”部分。如果您错过它,浏览器会更宽容(因此为什么在新窗口中打开可以正常工作)。您可以查看 firefox(或类似的)的来源,看看他们如何解决缺少协议的问题。或者测试重定向链接中的协议,如果丢失,则在新窗口中打开。