我在java中。這裏的工作是做它在Java中的方法也許能夠幫助
路線
GET / @controllers.ApplesController.index
GET /apples @controllers.ApplesController.home
GET /bananas @controllers.BananasController.home
GET /buybananas @controllers.BananasController.buy
控制器
@With(CheckUrl.class)
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("apples.com")) {
return F.Promise.pure(redirect("/apples"));
}else if (host.equalsIgnoreCase("bananas.com ")){
return F.Promise.pure(redirect("/bananas"));
}else if (host.equalsIgnoreCase("buy.bananas.com")){
return F.Promise.pure(redirect("/buybananas"));
}else{
return delegate.call(ctx);
}
}
I不知道它是否是這樣做的好方法。我已經用request().uri()
試過了,但沒有與request().host()
試過,這對我很有幫助。可能會有所幫助。
像這樣的事情更好地由http服務器處理...不是由框架。不過,你可以實現一些這樣的功能。有關更多詳情,請參閱 - > http://typesafe.com/activator/template/play-multidomain-seed和https://github.com/adrianhurt/play-multidomain-seed/blob/master/app/Global.scala – 2015-02-05 20:26:32
@SarveshKumarSingh寫一個答案而不是評論,這是點贊/接受 – biesior 2015-02-05 20:31:20
@biesior解決方案的範圍不適合答案。需要了解的東西太多,需要以特定的方式創建整個項目。 – 2015-02-05 20:34:08