Umbraco 路由在主节点之外不工作
Umbraco routing not working outside Home node
要重现该问题,请创建以下层次结构:
- 内容
- 首页
- 富
- 栏 - 已发布的 URL 将是
<domain>/foo/bar
- 富
- 栏 - 发布的 URL 将是
<domain>/bar
为什么在主页外创建页面时 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 确实堆叠了路径,但它删除了第一层,因为它被认为是默认路由。
要重现该问题,请创建以下层次结构:
- 内容
- 首页
- 富
- 栏 - 已发布的 URL 将是
<domain>/foo/bar
- 栏 - 已发布的 URL 将是
- 富
- 富
- 栏 - 发布的 URL 将是
<domain>/bar
- 栏 - 发布的 URL 将是
- 首页
为什么在主页外创建页面时 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 确实堆叠了路径,但它删除了第一层,因为它被认为是默认路由。