2013-03-19 1 views
2

Использование Scala в Play Framework 2.1 Я хочу обслуживать несколько доменов с использованием той же базы кода и базы данных. Невозможно найти что-либо в этом для последней версии под Scala.Как обслуживать несколько доменов из той же базы кода в Play Framework 2.1 (Scala)

Я создаю многосайтовый CMS, похожий на Magento, и должен иметь возможность определять домен/имя хоста и извлекать другую запись из базы данных на основе запрашиваемого домена.

Как определить, какой домен запрашивается в 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 
    } 

} 

Или это было бы то, что должно быть обработано в маршрутах файл?

ответ

1

Вы можете использовать метод play.api.mvc.Call.absoluteURL для получения полного URL-адреса контроллера.

В качестве примера:

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

Вам нужно неявное RequestHeader в рамках данного вызова. Я считаю, что лучшим решением для обнаружения URL-адреса по всему миру является использование filter API.