在PlayFramework 1.2.x中将example.com重定向到www.example.com

时间:2015-02-13 15:36:21

标签: java redirect playframework url-rewriting

我正在使用PlayFramework 1.2.x

我想将我的网址example.com重定向到www.example.com

我唯一能想到的就是在application.conf

中设置它
 prod.application.baseUrl=http://www.example.com/

但是这并没有导致mydomain.com/some-page被重写为www.mydomain.com/some-page

这可以在PlayFramework 1.2.x中使用吗?

P.S。我可以通过重定向到www.example.com使其适用于根URL,但是我需要将其用于所有其他页面,并且重定向到其他页面的特定URL并不实际

编辑:将问题编辑到

1 个答案:

答案 0 :(得分:1)

您想将网址example.com重定向到www.example.com

方法1:

控制器

  @With(CheckUrl.class)
  public  class Application extends Controller{
        public static Result index() {
                return ok(index.render("Unable to resolve host."));
            }
    }

CheckUrl.java

public class CheckUrl extends play.mvc.Action.Simple {

    public F.Promise<SimpleResult> call(Http.Context ctx) throws Throwable {

        String host = request().host();
        System.out.println("HOST IS "+host);

              if (host.equalsIgnoreCase("example.com")) {

             return F.Promise.pure(redirect("http://www.example.com"));

        }

}

因此,当每次用户点击浏览器中的url时,它将从控制器发送到CheckUrl.java并重新发送到wwwdot。这不是最干净的方法所以

方法2:标准方法

Source1Source2