2009-06-30 120 views
0

我試圖創建一系列所有作爲一個應用程序運行但具有不同設計(將其本地化)的站點。使用Java App Engine的多個站點

我的想法是將單獨的域名映射到一個站點。例如:www.mysite1.com映射到www.mysite.appspot.com/mysite1和www.mysite2.com映射到www.mysite.appspot.com/mysite2

我猜測,必須有一個url模式或者從web.xml傳遞一個servlet的網站名稱?我希望像www.mysite.appspot.com/mysite1/forumpost/3/這樣的網址可以通過與www.mysite.appspot.com/mysite2/forumpost/3/相同的servlet進行處理。 理想情況下,我想將站點名稱作爲參數傳遞給servlet。

當然有人曾經這樣做過,或者有過這樣的標準方式嗎?我對解析url的網站名稱有一個模糊的想法,但我對servlets等方面還很陌生,認爲有人可能會對這種情況有所瞭解。

謝謝!

回答

3

您無法映射您自己的appspot.com應用程序的子域(例如foo.mysite.appspot.com),但可以將任意域直接映射到您的應用程序,例如www.mysite1.com和www。 mysite2.com - 只需將它們全部添加爲您的Google Apps帳戶的別名,然後將它們映射到您的App Engine應用程序。完成之後,您只需檢查應用程序中Host標頭的內容即可將請求路由到適當的處理程序(或者更改您返回的內容)。

+0

是的,謝謝:) – 2009-07-11 05:54:27

0

嘗試使用javax.servlet.Filter和轉發到基於HTTP請求頭「Accept-Language」語言的特定頁面(我認爲這是一個)。您可以致電javax.servlet.HttpServletRequest.getHeader(String)

這樣您的網站就有了一個網址,並且在語言特定頁面的分離在內部處理。

+0

謝謝,但我實際上只處理英文,並且網站被觀衆的位置分開(在一個國家內)。我想創建它,以便我可以運行多個社區網站,所以我想爲每個網站都設置不同的網址... – 2009-06-30 20:50:41