1

サブドメインだけでstackexchangeのようなネットワークを作りたいです。

例えば

subdomain1.test.com
subdomain2.test.com
subdomain3.test.com
subdomain4.test.com

また、すべてのWebサイトを1つのアプリにまとめて、スケーリングとサービスを簡単に行えるようにしたいと考えています。

play2でこれを行うにはどうすればよいですか?

でサブドメインを指定できますroutesか?

擬似コード

GET     subdomain1/                           controllers.Application.index()
GET     subdomain2/                           controllers.Application.index()
4

1 に答える 1

2

動作しません。router同じタイプとターゲットアクションを持つ2つのルートが含まれている場合、最初にのみ使用されます。最速のソリューションを得るには、ラッピングメソッドを作成するだけです。これにより、必要な処理が実行され、ビュー/コントローラーレベルで使用されます。

route

GET   /home    controllers.Application.index

Application controller

public static String linkMeta(play.api.mvc.Call path) {
    return "http://meta.domain.tld" + path;
}

テンプレートサンプル:

<a href='@Application.linkMeta(routes.Application.index)'>Absoulte URL link to meta's index</a>
URL: http://meta.domain.tld/home

<a href='@routes.Application.index'>Relative URL to meta's index</a>
URL: /home
于 2012-08-21T17:26:03.793 に答える