2

Play Framework 2.1でのScalaの使用同じコードベースとデータベースを使用して、複数のドメインにサービスを提供したいと思います。Scalaの下の最新バージョンでは、これについて何も見つかりません。

私はMagentoのようなマルチサイトCMSを構築しており、ドメイン/ホスト名を検出し、要求されているドメインに基づいてデータベースから別のエントリを取得できる必要があります。

適切なコンテンツを提供できるように、Scala内で要求されているドメインを検出するにはどうすればよいですか?

私はGlobal.scalaでこのようなことがうまくいくと思っていました:

import play.api._

object Global extends GlobalSettings {

  override def onStart(app: Application) {
    //detect domain host here
    //set global variable for which domain to use when interacting with the DB
  }

}

それとも、これはルートファイルで処理する必要があるものでしょうか?

4

1 に答える 1

1

play.api.mvc.Call.absoluteURLメソッドを使用して、コントローラーの完全な URL を取得できます。

例として:

val url = controllers.routes.Index.view().absoluteURL()

この呼び出しのスコープには、暗黙的な RequestHeader が必要です。URL をグローバルに検出するための最善の解決策は、フィルター APIを使用することだと思います。

于 2013-03-19T13:07:08.107 に答える