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

时间:2013-06-24 05:33:15

标签: liferay liferay-6

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

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

  1. www.liferaytest1.com
  2. www.liferaytest2.com
  3. 在Liferay的控制面板门户网站设置中,www.liferaytest1.com设置为虚拟主机。

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

    当我使用www.liferaytest1.com访问门户网站时,我可以直接访问Guest网站页面。比方说,homeGuest网站中的一个页面,而不是www.liferatest1.com/web/guest/home访问我可以直接使用www.liferaytest1.com/home

    访问它

    因此URL在某种程度上缩短了 到目前为止一切都很好。

    首先关注

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

    假设我有一个名为www.liferaytest2.com的网站,那么当我点击Help portlet中的帮助网站链接时,它会重新定向My Sites,而不是留在www.liferaytest2.com域中域。

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

    第二关注

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


    如何克服上述问题?

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

2 个答案:

答案 0 :(得分:1)

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

但是,如果您将网址更改为test1.example.comtest2.example.com这样的结构,您可能更接近您希望实现的目标 - 这样您至少可以共享顶级域名并且可能能够做一些更便宜的单点登录(你仍然可以使用完全不同的域进行SSO)

答案 1 :(得分:0)

您无需在控制面板→门户网站设置中更改虚拟主机以满足此类要求。而是将它保存到localhost。这将解决您的两个问题。

接下来,您希望使用两个不同的域访问门户网站,您可以通过DNS设置进行访问。将两者映射到相同的IP(Liferay门户网站的IP),您将使用任何一个到达Liferay门户。它不会更改网址,也不会保留名称。