2009-06-30 5 views
0

1つのアプリケーションとして動作する一連のサイトを作成しようとしていますが、異なるデザイン(ローカライズするため)があります。Java App Engineを使用した複数のサイト

私の考えは、別のドメイン名を1つのサイトにマッピングすることです。例:www.mysite1.comはwww.mysite.appspot.com/mysite1に、www.mysite2.comはwww.mysite.appspot.com/mysite2にマップします

URLパターンが必要であると推測していますサーブレットにweb.xmlからサイトの名前を渡すものがありますか?私はwww.mysite.appspot.com/mysite1/forumpost/3/のようなURLをwww.mysite.appspot.com/mysite2/forumpost/3/と同じサーブレットで処理できるようにしたいと思います。 理想的には、サイト名をサーブレットのパラメータとして渡したいと思います。

確かにこれをやっている人がいますか、これを行う標準的な方法はありますか?私はそれからサイト名を取るためにURLを解析することについてのあいまいなアイデアを持っていますが、私はサーブレットなどにはかなり新しく、誰かがこの状況を明らかにできると思っていました。

ありがとうございます!

答えて

3

appspot.comアプリ(たとえばfoo.mysite.appspot.com)の独自のサブドメインをマッピングすることはできませんが、www.mysite1.comやwwwなど、任意のドメインをアプリに直接マップすることができます。 mysite2.com - Google Appsアカウントのエイリアスとしてすべてを追加し、App Engineアプリにマップします。これを完了したら、アプリケーションのHostヘッダーの内容をチェックして、適切なハンドラにリクエストをルーティングする必要があります(または返されるコンテンツを変更する)。

+0

はい、ありがとうございます:) –

0

javax.servlet.Filterを使用し、HTTPリクエストヘッダー 'Accept-Language'に基づいて言語固有のページに転送してみてください(私はこれを考えています)。 javax.servlet.HttpServletRequest.getHeader(String)への呼び出しでそれを得ることができます。

このようにして、サイトには1つのURLがあり、言語固有のページへの分離は内部的に処理されます。

+0

ありがとうございますが、実際は英語のみを扱っており、サイトは視聴者の場所(1か国のみ)で区切られています。私はそれを作成して複数のコミュニティWebサイトを実行できるようにしたいので、各サイトごとに異なるURLを使用したいと思います... –

関連する問題