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 CMS:调用函数“cmsfn:linkForWorkspace”时出现问题
Magnolia 5.5.5 Magnolia 中的索引配置
MAGNOLIA CMS - cmsu:simpleSearch 在作者实例中工作,但在公共实例中不返回任何结果