在Liferay中设置虚拟主机的优缺点是什么?

suy*_*ash 5 liferay liferay-6

我正在使用多个域来访问liferay门户实例.

例如,以下是在Windows的hosts文件中映射的域:

  1. www.liferaytest1.com
  2. www.liferaytest2.com

并且在Liferay的Control Panel→中Portal Settings,www.liferaytest1.com被设置为虚拟主机.

我可以访问所有上述域名的门户网站实例localhost.

当我访问门户网站时,www.liferaytest1.com我可以Guest直接访问网站页面.比如说,homeGuest站点中的页面,而不是访问,www.liferatest1.com/web/guest/home我可以直接访问它www.liferaytest1.com/home

因此URL在某种程度上缩短了.
到现在为止还挺好.

首先关注

现在,当我尝试访问门户网站时www.liferaytest2.com,当我点击My SitesLiferay的portlet中列出的任何网站时,它会将我重定向到该网站,其中包含虚拟主机中提到的域名,www.liferaytest1.com而不是保留www.liferaytest2.com.

假设我有一个名为的网站Help,所以当我点击My Sitesportlet中的帮助网站链接时,不是留在www.liferaytest2.com域中,而是重定向www.liferaytest1.com域名.

这是因为在liferay中完成了虚拟主机映射.

第二个问题

当我访问门户网站www.liferaytest2.com并订阅任何资产时,电子邮件中的链接包含虚拟主机域即ie www.liferaytest1.com.


如何克服上述问题?

我的要求是保持相对于门户网站访问域.
当我访问门户网站时,www.liferaytest2.com它不应该重定向我www.liferaytest1.com点击任何网站链接,如上所述,而且我将获得的电子邮件也应该是相对于我正在访问的域名,即www.liferaytest2.com.

Ola*_*ock 1

首先:您不需要使用该功能 - 它是以某种方式实现的(例如,如您所描述的),如果这不适合您的需求,则无需配置单独的虚拟主机。通过单个虚拟主机提供所有内容或在 Apache(例如)上进行解析是没有问题的 - 也就是说,完全在 Liferay 外部。唯一的缺点是您需要知道要访问的站点(例如 /web/guest 作为 URL 的一部分),以便 Liferay 知道要提供哪些内容。

test1.example.com但是,如果您将 URL 更改为类似and的结构,您可能会更接近您想要实现的目标test2.example.com- 这样您至少可以共享顶级域,并且可能能够进行一些更便宜的单点登录(您仍然可以使用完全不同的域进行 SSO)

  • 我担心电子邮件部分。当我将 localhost 设置为虚拟主机时,liferay 生成的电子邮件中包含引用 localhost 的链接,当我将 www.liferaytest1.com 设置为虚拟主机时,它包含引用 www.liferaytest1.com 的链接。这是根据需要的,但是当我使用 www.liferaytest2.com 访问门户并将虚拟主机设置为 www.liferaytest1.com 时,则不需要收到引用 www.liferaytest1.com 的电子邮件。在这种情况下,我想要参考 www.liferaytest2.com 的电子邮件链接。如何实现这一目标? (2认同)