如何从Liferay 7.1中站点的公共和私有页面URL中删除/ group和/ web单词?

时间:2018-08-09 09:20:39

标签: liferay liferay-7 liferay-7.1

我们使用Apache HTTP Server 2.4版进行重定向 example-test-1.com/group/至example-test-1.com /

我无法重定向。

下面的参考URL:-

https://httpd.apache.org/docs/2.4/rewrite/remapping.html#old-to-new-intern

配置文件的路径 /etc/apache2/sites-enabled/example-test-1.com.conf设置文件

ServerName example-test-1.com
ServerAlias example-test-1.com
RewriteEngine on
Redirect permanent /example-test-1.com/group/  /example-test-1.com/

LogLevel warn
ErrorLog /var/log/apache2/example-test-1.com.error.log
CustomLog /var/log/apache2/example-test-1.com.log combined

ProxyPass / ajp://localhost:8009/
ProxyPassReverse /  ajp://localhost:8009/

任何其他可能的方法来实现它。

4 个答案:

答案 0 :(得分:1)

或者,您可以检查Liferay自己的配置选项:


指定默认为公司虚拟主机的站点名称。如果指定的站点具有虚拟主机,则将具有优先权。如果没有,它将使用公司的虚拟主机。此属性对于从默认URL中删除“ / web / guest”(或任何其他站点)很有用。例如,如果未设置此属性,则默认URL可以为http://localhost:8080/web/guest/home。如果设置了此属性,则默认URL可以为http://localhost:8080/home

默认值:

  • virtual.hosts.default.site.name = Guest

为com.liferay.portal.servlet.FriendlyURLServlet设置私有组,私有用户和公共servlet映射。该值必须与web.xml中设置的servlet映射相匹配。

例如,如果私有组页面映射到“ / group”,并且组的友好URL设置为“ / guest”,布局的友好URL设置为“ / company / community”,则用于该页面将为http://www.liferay.com/group/guest/company/community。私人群组页面映射到网站的私人页面,并且只有拥有适当权限的经过身份验证的用户才能使用。

例如,如果将公共页面映射到“ / web”,并且将组或用户的友好URL设置为“ / guest”,将布局的友好URL设置为“ / company / community”,则友好URL该页面将为http://www.liferay.com/web/guest/company/community。公开页面可供未经身份验证的用户使用。

可以在运行时设置用户,组和布局的友好URL。

默认值:

  • layout.friendly.url.private.group.servlet.mapping = / group
  • layout.friendly.url.private.user.servlet.mapping = / user
  • layout.friendly.url.public.servlet.mapping = / web

答案 1 :(得分:0)

/web是表示公共页面的URL部分,/group是表示私有页面的部分(其后为网站的常用URL名称)。

您可以为站点页面(分别为公共和私有)设置虚拟主机,以匹配实际的主机名(请参阅“站点设置”)。该名称必须是唯一的主机名,然后将使用它代替/web/sitename/group/sitename来明确命名站点。您可以在“网站内容/配置/网站设置”中找到此虚拟主机(默认情况下为空)。

另外

Redirect permanent /example-test-1.com/group/  /example-test-1.com/
如果我没有记错的话,

会将URL http://www.example.com/example-test-1.com/group/重定向到http://www.example.com/example-test-1.com/。可能不是您想要的。正如您已经给定的ServerName(和多余的相同的ServerAlias)一样,该虚拟主机也不会为任何其他虚拟主机处理任何内容,因此无需指定域部分,尤其是不要指定非URL的域部分。

答案 2 :(得分:0)

更改/etc/apache2/sites-enabled/.conf文件:

<VirtualHost :80 >
  ServerName example-test-1.com
  ServerAlias example-test-1.com 
  RewriteEngine on 
  <Proxy* >  
    AddDefaultCharset Off 
    Order deny,allow Allow from all 
  </Proxy > 

  RewriteRule ^/group/testsite(.) http://%{HTTP_HOST}/testsite$1 [QSA,NE] 
  ProxyPassMatch ^/testsite(.*) ajp://localhost:8009/group/testsite$1 
  ProxyPass/ ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ 
</VirtualHost > 

在/ etc / hosts文件中

127.0.0.1       example-test-1.com

答案 3 :(得分:0)

假设您以http:mysite.com/web/guest访问网站,但您想要http:mysite.com /

这是一个简单的解决方案:

  1. 通过将以下行添加到portal-ext.properties来覆盖默认的company.default.home.url = / web / guest值。 如果该文件丢失,请在/ HOME-LIFERAY / Tomcat / webapps / ROOT / WEB-INF / classes中创建一个文件,然后重新启动tomcat以使更改生效。

company.default.home.url =

  1. 在Liferay Portal的控制面板>站点>配置>站点设置>虚拟主机中的站点URL->公共页面中添加:mysite.com

点击[保存]

您应该可以访问站点http:mysite.com /

享受。