Magnolia 5.4.1 CE 中的 HostBasedRegexpVirtualURIMapping 配置不起作用

Posted

技术标签:

【中文标题】Magnolia 5.4.1 CE 中的 HostBasedRegexpVirtualURIMapping 配置不起作用【英文标题】:HostBasedRegexpVirtualURIMapping configuration in Magnolia 5.4.1 CE not working 【发布时间】:2015-09-19 15:30:42 【问题描述】:

我想我在 Magnolia 的 HostBasedRegexpVirtualURIMapping 中发现了一个错误。我正在使用 Magnolia 5.4.1 CE。

我有以下页面:

并配置了以下映射:

我的意图是请求:

http://www.area1.local:8888/magnoliaAuthor/subarea/home

被转发到页面:/area1/subarea/home

请求时:

http://www.area2.local:8888/magnoliaAuthor/subarea/home

被转发到页面:/area2/subarea/home

但是,它不起作用,转发不发生。


有趣的是,以下情况仍然有效:

备选方案 1:

我将fromURI 更改为/subarea/(.*).html,如下所示:

然后,请求 http://www.area1.local:8888/magnoliaAuthor/subarea/home.html

被转发到页面:/area1/subarea/home

但是,我不想在 url 中使用“.html”。


备选方案 2:

第二个同样有效的选项是使用HostBasedVirtualURIMapping 而不是HostBasedRegexpVirtualURIMapping,但当然,为每个网址配置这种方法有点累。

这使我的 URI 映射按预期工作,但我不想配置所有可能的 fromURI,而是希望使用正则表达式。


所以我的问题是,我的HostBasedRegexpVirtualURIMapping的原始配置有什么问题?

谢谢。

【问题讨论】:

【参考方案1】:

怎么了?社区版根本不支持此用例。如果您想从一个 Magnolia 实例映射多个站点和多个主机,您需要使用企业版而不是社区。​​p>

【讨论】:

更新:我做了一些调试,事实上,正则表达式不适用于标准的 HostBasedVirtualURIMapping 类。使用自定义/扩展的 URI 映射器类和一个额外的 LinkTransformer,即使在 CE 上也可以正常工作。当然,它不像 EE 那样完全成熟的多站点支持,但涵盖了上面提到的基本要求。

以上是关于Magnolia 5.4.1 CE 中的 HostBasedRegexpVirtualURIMapping 配置不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Magnolia 从 5.3.4 升级到最新版本

Magnolia CMS:调用函数“cmsfn:linkForWorkspace”时出现问题

Magnolia 5.5.5 Magnolia 中的索引配置

MAGNOLIA CMS - cmsu:simpleSearch 在作者实例中工作,但在公共实例中不返回任何结果

pom 中的 CMS Magnolia magnolia-rest-content-delivery 版本

Magnolia 版本中的隐藏操作是 5.7