Umbraco 路由在主节点之外不工作

Umbraco routing not working outside Home node

要重现该问题,请创建以下层次结构:

为什么在主页外创建页面时 umbraco 会跳过 /foo/?有没有办法让 Home 之外的节点与 Home 下的节点堆叠路径?

Umbraco v7

Home 是您的根节点,因此 / 将显示您的主页,而 /foo/ 将显示 home>foo 页面。

显示根 foo 节点下的节点的唯一方法是使用 'culture and hostnames'

在根 foo 节点上提供主机名

显然,一旦你这样做了,你还必须在 iis 中将该主机名设置为同一网站上的绑定。

如果您为 foo 节点添加一个主机名,那么也为主节点设置一个主机名可能也是一个好习惯

Umbraco community 的帮助下,我已经设法理解了发生了什么。

默认情况下,umbraco 将 Content 的每个子节点视为根节点,也就是主页。这由 web.config <add key="Umbraco.Core.HideTopLevelNodeFromPath" value="true" />

中的以下设置控制

如果我像这样添加第 3 级来扩展我的示例:Content > Foo > Bar > Baz 我会看到 Baz 的发布路径是 /bar/baz。 Umbraco 确实堆叠了路径,但它删除了第一层,因为它被认为是默认路由。