我们的一个 Umbraco 网站变得有点混乱,我想知道是否有一种方法可以在不影响 URL 的情况下将文件夹中的页面分组。例如,如果在主页下我有一些顶级部分、一些页脚链接和各种其他系统页面。我想将页脚页面分组到页脚文件夹中,将系统页面分组到系统文件夹中,但我不希望所有 URL 都变成 /footer/page1、system/contact 等。
有没有一种很好的方法可以做到这一点,也许是 umbracoUrlName?
我们的一个 Umbraco 网站变得有点混乱,我想知道是否有一种方法可以在不影响 URL 的情况下将文件夹中的页面分组。例如,如果在主页下我有一些顶级部分、一些页脚链接和各种其他系统页面。我想将页脚页面分组到页脚文件夹中,将系统页面分组到系统文件夹中,但我不希望所有 URL 都变成 /footer/page1、system/contact 等。
有没有一种很好的方法可以做到这一点,也许是 umbracoUrlName?
有两个答案,首先您可以在 web.config 中打开“隐藏根文件夹”选项 - 然后您可以在根目录中拥有任意数量的文件夹 - 无需它们构成 url 的一部分。
umbracoHideTopLevelNodeFromPath 导致从任何 url 路径中排除顶级内容项。例如,这是预设为 True,所以:
[内容]首页 = /home.aspx 或 /home/
[内容]Home\Projects = /projects.aspx 或 /projects/
[内容]页脚\Page1 = /page1.aspx 或 /page1/
[内容]Home\Projects\About = /projects/about.aspx 或 /projects/about/
http://our.umbraco.org/wiki/reference/webconfig
其次,每个 umbraco 节点上都有四个“隐藏”重定向字段(您可以将其添加到文档类型中),它们可以更改 url 路由:
所以我猜在你的场景中 umbracoUrlName 会在你的组合文件夹中挑选一个页面,但是你选择一个 url。
所以你有了
homepage
|- footer
|-page1 (umbracoUrl = "/footer-page1/")
/footer-page1/ 将呈现存储在页脚文件夹中的页面。
你也可以破解一些东西并使 umbracoRedirect 和 umbracoInternalRedirectId 工作,但我不确定它是否会有所帮助。