此问题未在playframework上标记,因为它很可能由具有强大http知识的人解决(而且这些用户倾向于跳过playframework问题)。
playframework 1.2.5包含以下代码片段
if (url.startsWith("http")) {
//
} else if (url.startsWith("/")) {
url = String.format("http%s://%s%s%s", request.secure ? "s" : "", request.domain, (request.port == 80 || request.port == 443) ? "" : ":" + request.port, url);
} else {
url = String.format("http%s://%s%s%s%s", request.secure ? "s" : "", request.domain, (request.port == 80 || request.port == 443) ? "" : ":" + request.port, request.path, request.path.endsWith("/") ? url : "/" + url);
}
此代码碰巧打破了我们的登录/注销,因为它重定向到http是不正确的,因为即使我们的playframework在http中,我们的LB也是https给用户。为什么有人会有这个代码?相对网址不足以进行重定向吗?
我注释掉了代码,现在我们的网站工作正常,但我仍然感觉到为什么这个代码首先放入playframework?
任何想法,猜测都会很棒,或者如果你知道答案,那就更好了。
感谢, 迪安
答案 0 :(得分:1)
这是302重定向吗?它需要一个符合规范的URL。这并不意味着许多网站不使用相对路径和我见过的浏览器就好了。
两个相关的旧问题: