2009-06-30 6 views
0

Ich versuche, eine Reihe von Websites zu erstellen, die alle als eine Anwendung ausgeführt werden, aber unterschiedliche Designs haben (um sie zu lokalisieren).mehrere Websites mit Java App Engine

Meine Idee ist es, separate Domain-Namen zu der einen Website zuzuordnen. ZB: www.mysite1.com Karten zu www.mysite.appspot.com/mysite1 und www.mysite2.com Karten zu www.mysite.appspot.com/mysite2

Ich vermute, dass es ein URL-Muster muss oder etwas, um einem Servlet den Namen der Website aus web.xml zu übergeben? Ich möchte, dass URLs wie www.mysite.appspot.com/mysite1/forumpost/3/ von demselben Servlet wie www.mysite.appspot.com/mysite2/forumpost/3/ verarbeitet werden können. Idealerweise möchte ich den Site-Namen als Parameter an das Servlet übergeben.

Sicher gibt es jemanden, der dies schon einmal getan hat, oder eine Standardmethode dafür? Ich habe eine verschwommene Idee, die URL zu analysieren, um den Site-Namen daraus zu machen, aber ich bin ziemlich neu in Servlets usw. und dachte, dass jemand in der Lage sein könnte, etwas Licht in diese Situation zu bringen.

Danke!

Antwort

3

Sie können Ihre eigenen Subdomains von appspot.com-Apps nicht zuordnen (z. B. foo.mysite.appspot.com), aber Sie können Ihrer App direkt beliebige Domains zuordnen, z. B. www.mysite1.com und www. mysite2.com - füge sie einfach als Alias ​​zu deinem Google Apps-Konto hinzu und ordne sie dann deiner App Engine-App zu. Sobald Sie damit fertig sind, müssen Sie nur den Inhalt des Host-Headers in Ihrer App überprüfen, um Anfragen an die entsprechenden Handler weiterzuleiten (oder den Inhalt, den Sie zurückgeben, anderweitig zu ändern).

+0

Ja, danke dafür :) –

0

Versuchen Sie eine javax.servlet.Filter und Weiterleitung zu den sprachspezifischen Seiten basierend auf dem HTTP-Anfrage-Header 'Accept-Language' (ich denke, das ist die eine). Sie können das mit einem Anruf an javax.servlet.HttpServletRequest.getHeader(String) erreichen.

Auf diese Weise hat Ihre Site eine einzelne URL und die Trennung in sprachspezifische Seiten erfolgt intern.

+0

Danke, aber ich habe eigentlich nur mit Englisch zu tun, und die Seiten sind durch den Standort des Zuschauers (innerhalb eines Landes) getrennt. Ich möchte es erstellen, damit ich mehrere Gemeinschaftswebsites laufen lassen kann, also möchte ich unterschiedliche URLs für jede Seite haben ... –