несколько сайтов с Java App Engine - PullRequest
0 голосов
/ 30 июня 2009

Я пытаюсь создать серию сайтов, которые все работают как одно приложение, но имеют разный дизайн (для их локализации).

Моя идея - сопоставить отдельные доменные имена с одним сайтом. Например, www.mysite1.com отображается на www.mysite.appspot.com/mysite1, а www.mysite2.com отображается на www.mysite.appspot.com/mysite2

Я предполагаю, что должен быть шаблон URL или что-то, чтобы передать сервлету имя сайта из web.xml? Я бы хотел, чтобы URL-адреса, такие как www.mysite.appspot.com/mysite1/forumpost/3/, могли обрабатываться тем же сервлетом, что и www.mysite.appspot.com/mysite2/forumpost/3/. В идеале я хотел бы передать имя сайта в качестве параметра сервлету.

Конечно, есть кто-то, кто делал это раньше, или какой-то стандартный способ сделать это? У меня есть смутная идея о синтаксическом анализе URL, чтобы вывести из него название сайта, но я довольно новичок в сервлетах и ​​т. Д. И подумал, что кто-то может пролить свет на эту ситуацию.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 09 июля 2009

Вы не можете сопоставить свои собственные субдомены приложений appspot.com (например, foo.mysite.appspot.com), но вы можете напрямую сопоставить произвольные домены с вашим приложением, например, www.mysite1.com и www.mysite2. .com - просто добавьте их как псевдонимы в свою учетную запись Google Apps, а затем сопоставьте их с приложением App Engine. Как только вы это сделаете, вам просто нужно проверить содержимое заголовка Host в вашем приложении, чтобы направить запросы соответствующим обработчикам (или иначе изменить содержимое, которое вы возвращаете).

0 голосов
/ 30 июня 2009

Попробуйте использовать javax.servlet.Filter и переадресовать на языковые страницы на основе заголовка HTTP-запроса 'Accept-Language' (я думаю, что это тот самый). Это можно сделать, позвонив по номеру javax.servlet.HttpServletRequest.getHeader(String).

.

Таким образом, ваш сайт имеет один URL-адрес, а разделение на языковые страницы обрабатывается внутри.

...