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 的最佳解决方案是使用filter API

于 2013-03-19T13:07:08.107 回答