我们正在为一个项目使用Play 1.2.4。对于浏览到"https://www.mydomain.com",我们希望将他们重定向到"https://mydomain.com"的用户。
一旦我们的webapp部署完成,就不会有像Apache那样的前端web服务器了。这一切都将在游戏中运行。(我们已经让HTTPS工作起来了。这在游戏中很容易。)
在开发中进行测试时,我们可以将foo.localdomain和bar.localdomain添加到/etc/hosts文件中以模拟此过程,然后在生产中进行实际操作。
关于如何在纯播放环境中将www.mydomain.com重定向到简单的mydomain.com,您有什么想法吗?
发布于 2012-01-14 08:04:13
我们解决了这个问题。该解决方案在dev中有效,我们希望它在prod中也能正常工作。
我们向我们的Controller类添加了一个@Before方法,它的工作原理如下:
@Before
public static void redirectIfNeeded() {
String baseUrl = play.Play.configuration.getProperty("application.baseUrl");
if (baseUrl.indexOf(request.domain) == -1) {
redirect(baseUrl);
}
}简而言之,每次调用控制器方法时,我们都要确保调用域是mydomain.com (在application.baseUrl属性的application.conf中指定),而不是www.mydomain.com。如果不是mydomain.com,请重定向至mydomain.com。
https://stackoverflow.com/questions/8844012
复制相似问题