我的 Play 框架应用程序最近开发了一个相当讨厌的重定向循环,但仅在一个特定页面(“关于”页面)上。没有其他页面有这个问题,“关于”页面的代码与所有其他页面完全相同,并且不会一直发生。
我最近唯一改变的是 (1) 更新了 Play 框架和 (2) 安装了一个过滤器,以便在onRequest
调用时,如果 URL 是旧站点 URL,它将重定向到新站点。我删除了这个过滤器,并且在一段时间后仍然存在重定向循环。
这种重定向循环不会一直发生,似乎只会在网站上线几天后发生。至少在一段时间内,重新启动 Play 服务器会修复重定向循环。
路由文件入口:
GET /about controllers.Application.about()
现在,我在路线中确实有几个其他“关于”条目,如下所示:
GET /about/clients controllers.About.clients()
GET /about/history controllers.About.history()
GET /about/leadership controllers.About.leadership()
GET /about/philosophy controllers.About.philosophy()
控制器方法:
@Cached(key="aboutPage", duration = CACHE_DURATION)
public static Result about(){
return ok(about.render("About"));
}
有人知道为什么会发生这种情况,或者有人经历过类似的事情吗?
另外,任何人都可以提供如何在javascript中执行此操作的示例吗?遇到这些问题后,我想我宁愿在客户端这样做,即使它会稍微影响重定向时间。