0

我正在尝试创建一系列站点,这些站点都作为一个应用程序运行,但具有不同的设计(以本地化它们)。

我的想法是将单独的域名映射到一个站点。例如: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/ 这样的 URL 能够由与 www.mysite.appspot.com/mysite2/forumpost/3/ 相同的 servlet 处理。理想情况下,我想将站点名称作为参数传递给 servlet。

肯定有人以前做过这个,或者有一些标准的方法吗?我对解析 url 以从中取出站点名称有一个模糊的想法,但我对 servlet 等还是很陌生,并认为有人可能能够对这种情况有所了解。

谢谢!

4

2 回答 2

3

您不能映射您自己的 appspot.com 应用程序的子域(例如 foo.mysite.appspot.com),但您可以将任意域直接映射到您的应用程序,例如 www.mysite1.com 和 www.mysite2.com -只需将它们作为别名添加到您的 Google Apps 帐户,然后将它们映射到您的 App Engine 应用程序。完成此操作后,您只需检查应用程序中 Host 标头的内容,以将请求路由到适当的处理程序(或以其他方式更改您返回的内容)。

于 2009-07-09T09:00:45.947 回答
0

尝试使用 ajavax.servlet.Filter并根据 HTTP 请求标头“ Accept-Language”转发到特定语言的页面(我认为就是这样)。您可以通过调用javax.servlet.HttpServletRequest.getHeader(String).

这样,您的网站就只有一个 URL,并且在内部处理了特定语言页面的分离。

于 2009-06-30T09:02:18.767 回答