我正在使用多个域来访问liferay门户网站实例。
例如,以下是在windows的hosts文件中映射的域:
www.liferaytest1.com
www.liferaytest2.com
在Liferay的控制面板→门户网站设置中,www.liferaytest1.com
设置为虚拟主机。
我可以访问包含所有上述域名的门户网站实例以及localhost
。
当我使用www.liferaytest1.com
访问门户网站时,我可以直接访问Guest
网站页面。比方说,home
是Guest
网站中的一个页面,而不是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
。
答案 0 :(得分:1)
首先:您不需要使用该功能 - 它以某种方式实现(例如,如您所述),如果这不符合您的需求,则无需配置单个虚拟主机。通过一个虚拟主机提供所有内容或在Apache(例如)上完成解决方案是没有问题的 - 也就是说,完全在Liferay外部。唯一的缺点是您需要访问您想要访问的网站的线索(例如/ web / guest作为URL的一部分),以便Liferay知道要提供的内容。
但是,如果您将网址更改为test1.example.com
和test2.example.com
这样的结构,您可能更接近您希望实现的目标 - 这样您至少可以共享顶级域名并且可能能够做一些更便宜的单点登录(你仍然可以使用完全不同的域进行SSO)
答案 1 :(得分:0)
您无需在控制面板→门户网站设置中更改虚拟主机以满足此类要求。而是将它保存到localhost。这将解决您的两个问题。
接下来,您希望使用两个不同的域访问门户网站,您可以通过DNS设置进行访问。将两者映射到相同的IP(Liferay门户网站的IP),您将使用任何一个到达Liferay门户。它不会更改网址,也不会保留名称。