2012-08-12 5 views

答えて

5

その後、私はGlobal.scala

finnally追加
import play.api.GlobalSettings 
import play.api.mvc.RequestHeader 
import play.api.mvc.Handler 

object Global extends GlobalSettings { 

    override def onRouteRequest(request: RequestHeader): Option[Handler] = { 
    super.onRouteRequest(PrefixedRequest(request)) 
    } 

} 

でそれを使用し、私はこの

import play.api.mvc.RequestHeader 
import play.api.Play.configuration 

import play.api.Play.current 

class PrefixedRequest(request: RequestHeader) extends RequestHeader { 

    def headers = request.headers 
    def queryString = request.queryString 

    // strip first part of path and uri if it matches http.path config 
    def path = ("^" + prefix).r.replaceFirstIn(request.path, "/") 
    def uri = ("^" + prefix).r.replaceFirstIn(request.uri, "/") 

    def method = request.method 
    def remoteAddress = request.remoteAddress 

    lazy val prefix = { 
     val config = configuration.getString("http.path").getOrElse("") 
     if (config.endsWith("/")) config else config + "/" 
    } 
} 

object PrefixedRequest { 
    def apply(request: RequestHeader) = new PrefixedRequest(request) 
} 

ようPrefixedRequestを作成し、私はplay's discussion groupで尋ねたと彼らは私がこの最初のバージョン

を達成役立ちましたthis to application.conf

http.path=/prefix/ 

それはうまくいくようですが、その接頭辞を逆のルートに追加する方法を見つけることはできません。誰でもその部分を手に入れることができますか?

application.context="/your/prefix" 

プレイから: -

このthreadとあなたがconf/application.confで、次のオプションを使用していることを行うことができますプレイ2.1ではdocs

+0

明らかに、これらの機能はバージョン2.1より前には含まれていません - https://github.com/playframework/Play20/commit/da6bbc4 – opensas

+0

これはi18n(/ fr、/ en ...)のためには素晴らしいかもしれません – iwalktheline

+1

Iあなたがより良くなると思うhttp://www.playframework.org/documentation/api/2.0/scala/play/api/mvc/WrappedRequest.html – Drew

25

いくつかの便利なリンク

チェック2.4このプロパティはplay.http.contextと呼ばれます(Gmanのコメントから取りました)。

+1

これは受け入れられた答えよりずっと簡単です(これはうまくいかないかもしれませんプレイ中2.0) – Nathan

+0

これは正しい答えです –

+3

他の人がgoogleから来てもらえるようにするには、play 2.4で 'play.http.context'に変更しました(https://www.playframework.com/documentation/2.4を参照)。 x /移行24) – Gman

関連する問題