我的项目是使用Magnolia 5.3和Blossom开发的,并使用企业版 - 标准版玉兰。
我是Magnolia和这个项目的新手。
该项目适用于不同国家和不同语言。
它有国家和语言列表的第一页。
对于前者www.localhost:8080
显示了此国家/地区列表页面。
当用户点击此页面的任何链接时,他将被重定向到所选语言的国家/地区主页。
例如:
具有语言L1的国家/地区C1具有URL:www.localhost:8080/C1/L1
这显示了国家根页的内容,即C1
Each country has the same heirarchy in Magnolia CMS
C1 - Root Node of country C1
C1/XYZ1 - Page 1
C1/XYZ2 - Page 2
C2 - Root Node of country C2
C2/XYZ1 - Page 1
C2/XYZ2 - Page 2
and so on.
因此,如果我想访问国家/地区的任何根页面,则URL将为:
www.localhost:8080/C1/L1
如果我想访问任何子页面,那么URL将是:
www.localhost:8080/C1/L1/XYZ1
到目前为止这很好。
但现在我想删除或隐藏用户的国家/地区根页面。
因此,如果用户手动键入www.localhost:8080/C1/L1
,那么
我尝试过设置virtualURIMapping,但这不起作用。
我也尝试删除C1页面,但我无法删除,因为这是根页面,如果没有它的子节点,就无法删除root。
请帮助并指导我,我该怎么做?
谢谢,
的Manoj
答案 0 :(得分:0)
如果您使用的是企业版,您只需为您的网站配置域以使其正确识别,然后Magnolia将自动隐藏所有链接的根节点。
如果您使用的是社区版,则不可能,因为此功能仅适用于企业版。
但是,如果您想要重定向到所选站点的子页面(就像您在更新问题后所看到的那样),则需要创建一个虚拟URI映射来执行此操作。
有许多可能的方法来创建这样的映射,其中之一是:
1)在AdminCentral中,转到配置应用并打开config:/modules/ui-admincentral/virtualURIMapping\default
2)将class
更改为info.magnolia.multisite.MultiSiteRegexpVirtualURIMapping
3)将fromURI
更改为\$
4)将toUri
更改为redirect:/XYZ1\.html
5)添加属性site
并将其值设置为C1
(假设您WebDev/Sites
中的网站被称为C1
)
仅当您在站点配置中正确映射域时,此操作才有效。如果您没有在第一次尝试时使用它,请尝试使用它,更改值,仔细检查您是否正确配置了所有配置。尝试也可以查看映射的代码,以确保您了解它的工作原理。最重要的是,检查您配置的其他VirtualURIM应用程序(您可以在Config Info应用程序中查看所有内容)。
附加免责声明:如果您错误地设置了虚拟uri映射(特别是因为这个是基于正则表达式,所以它非常容易“扩展”它以对所有URL做出反应),有可能使您的实例无法访问。确保在执行此操作时,您在开发实例上执行此操作,并且您有备份并可以返回。仅通过导入先前创建和测试的映射来对生产应用此类更改。
HTH,
扬