当前位置: 首页 > 知识库问答 >
问题:

Liferay顶级友好URL

莘昊
2023-03-14

有没有一种方法可以像这样在liferay中创建/处理友好的URL?

http://myserver.com/JonDoe

... 其中John Doe是应显示其数据的客户的名称。

更详细一点:

我说的不是为了友好的url而放弃“web”或“group”,而是在第一个“/”之后有一个友好的url。

我们希望以http://server/ClientName其中ClientName解析为客户端的名称。这是一个问题,因为liferay通常希望在第一个“/”之后有一个友好的URL。所以我们设法拦截了它。

这个过程应该是这样的(伪代码):

1) 检查第一次“/”后的值

2) 如果“/”后面的值是客户端的名称,则将用户发送到客户端显示页面并显示客户端信息

3)如果没有给定名称的客户端,将其解释为友好的网址,并进行正常的创建行为。

在liferay有没有办法做到这一点?

共有2个答案

年凯康
2023-03-14

如果你想为一个页面设置一个URL,你可以为该页面设置一个友好的URL(请参见Olafs关于虚拟主机的评论)

如果希望一个页面有一组有限的URL,可以为每个URL创建一个链接到页面类型的页面,并选择原始页面。要在呈现portlet时识别当前URL,可以使用PortalTil。getCurrentURL(renderRequest)

如果你想在一个页面上有多个URL,你可以使用FriendlyUrlMapper,它允许像http://myserver.com/page/-/myPortlet/JonDoe

如果你想要有很多“根”URL(我的意思是没有/page/-/myPortlet部分),你必须创建一个Liferay EXT插件,扩展com。利弗雷。门户。util。PortalImpl和overwritegetPortletFriendlyURLMapperLayoutQueryStringComposite。我通过实现一种策略来实现同样的功能,该策略检查特定给定URL的页面是否存在,或者使用该URL作为FriendlyURLMapper的参数。

颛孙建业
2023-03-14

听起来你想摆脱URL的 /web/或 /group/部分?通过对虚拟主机的正确配置,这是可能的——你将把网站映射到域名上,然后你可以完全自由地命名页面,甚至分层命名(例如/JonDoe/home)

到目前为止,这是一个简单的配置。如果你想 /JonDoe指向另一个网站而不是 /JoeShmoe(例如,只是摆脱 /web/或 /group/),你必须深入挖掘,编写相当多的定制插件,改变名称解析(和生成网址)

 类似资料:
  • 当我在Liferay中创建页面(我使用的是6.2)时,它会收到一个自动生成的友好URL,遵循几个内部规则。 例如,如果我创建一个名为的页面,它将自动接收到友好的URL。 另外,如果我创建页面aaa作为页面

  • 我目前正在使用一个文章显示页面在Liferay 6.2中显示我的web内容。我正在试图找出如何在之后编辑我的友好URL的路径。 当前URL: 希望的URL:

  • 问题内容: 我有一个MySQL数据库,其中存储了每个用户的数据。 我想为每个用户添加一个朋友列表。我应该为数据库中的每个用户创建一个朋友表还是有更好的方法? 问题答案: 假设所有朋友也都在用户表中,则需要一个朋友表,该表定义了简单的一对多关系-将用户表链接回自身。所以 其中UserIDLink1和UserIDLink2都是Users表上的外键。 例如,如果我有三个用户 并且Joe和Jane是朋友,

  • 有许多网站提供了将liferay 6.2升级到dxp的文章,但仅限于ant项目。我们如何将liferay 6.2 maven项目升级为liferay dxp gradle项目?

  • 主要内容:使用传递元素,使用传递属性JavaServer Faces支持HTML5,允许您直接在网页中使用HTML5标记。 它还允许您在HTML5元素中使用JavaServer Faces属性。 JavaServer Faces支持HTML5分为两类: 直通元素 传递属性 HTML5友好的标记功能可通过渲染的页面输出完成对Facelets页面的控制,而不必将该控件传递给组件。 您可以混合和匹配JavaServer Faces和HTM

  • 我在尝试hadoop(Java版本)中的mapreduce程序,从json文件中查找共同的朋友列表。json文件内容具有以下模式: 模式解释如下: friend json选项卡,由相关friends json的数组分隔 因此abc将xyz、def和cxf作为朋友cxf将xyz abc和yyy作为朋友。 综上所述,abc和cxf的共同好友是xyz。 尝试通过创建自定义可写文件来实现相同的使用mapd