Я сделал это с помощью опции «Виртуальные хосты», предоставляемой через Liferay. В настройках каждого сообщества вы можете определить значение «виртуального хоста». Если Liferay получит запрос с URL-адресом, соответствующим виртуальному хосту сообщества, контент этого сообщества будет обработан.
Например, мой сервер Liferay может быть размещен на "my-liferay-server
", но имеет 3 сообщества - "guest", "site1" с виртуальным хостом, настроенным на "site1.example.com
", и "site2" с виртуальным хост настроен на "site2.example.com
". Все эти дополнительные DNS-имена указывают на «my-liferay-server
». Когда Liferay получает каждый запрос, он просматривает запрошенное имя хоста и перенаправляет его в соответствующее сообщество.
Обратите внимание, что Liferay поддерживает только одно значение "Виртуальный хост" на сообщество - поэтому, к сожалению, вы не можете одновременно обслуживать и Liferay, и "site1.example.com
", и "site3.example.com
" одним и тем же сообществом. Это может быть выполнено, но требует установки экземпляра Liferay с чем-то другим, например, с экземпляром HTTP-сервера Apache, с использованием правил mod_rewrite.
Кроме того, при условии, что у каждого сообщества есть страница с URL-именем /home
, у меня есть следующее правило перезаписи в таком экземпляре Apache HTTP Server:
RewriteRule ^/$ /home [PT,L]
Это гарантирует, что корень каждого виртуального хоста обслуживается "домашней страницей" каждого сообщества.