【问题标题】:Front end page urls前端页面网址
【发布时间】:2018-06-09 14:28:18
【问题描述】:

我有一个 umbraco 安装。
我发布了一个名为“帐户”的内容,umbraco 给了它这个 url /account。 公平。

然后我发布了一个名为“Register”的内容内容帐户下(我允许 Account Doc Type 将 Register Doc Type 设置为子项)。

我希望新内容的 url 是/account/register,但 umbrace 给了它/register

  1. 为什么会这样?如果 url 都来自根目录,那么允许子内容类型和构建内容树有什么意义?作为 umbraco 的新手,我认为这是一个逻辑缺陷。对于声称友好的 CMS,这根本不友好。我是一名开发人员,但我不能浪费半天的时间在网上寻找 umbraco 答案和教程。一个友好的 CMS 在使用时应该是自我解释的,并且应该考虑到新手可能有的所有常见假设。

  2. 如何让Account->Register 内容节点出现在/account/register url 中?

【问题讨论】:

    标签: umbraco umbraco7


    【解决方案1】:

    我认为您所看到的是 Umbraco 中一项功能的副作用,该功能应该支持大多数开发人员在创建 Umbraco 网站时使用的模式。

    构建 Umbraco 网站的最佳做法是创建“网站/根/站点”文档类型并将其放置在分层内容结构的根中。在此文档类型下,您将每个页面放置为直接子级。这允许您在站点上设置主机名和文化,并且允许您将整个站点保持在一个“捆绑”中,并且还允许您在同一个 Umbraco 网站中创建多个子站点。以这种方式构建您的网站是很常见的做法。

    但是 - 如您所料 - 这将提供您的 URL,例如 domain.com/website/account/register,因为 Website 现在是 Umbraco 中的实际内容节点。因为这确实不是任何人想要的——Umbraco 有一个内置功能,允许从 URL 路径中隐藏顶级节点。在这种情况下,这会导致您的网址为 domain.com/account/register

    但是,如果您考虑您的网站 - 此功能会导致您的注册页面获取 URL:/register,因为 /account 部分是生成 URL 时将被忽略的顶级节点。

    此行为由设置umbracoHideTopLevelNodeFromPath 触发,该设置可在您网站的web.config 中找到(默认为true)。

    但是,我建议您不要更改此设置,而是为您的站点添加根节点,因为这将使您将来更容易管理 - 这也是构建站点的最佳实践方式。

    这应该会按照您期望的方式生成 URL。子节点的 URL 反映了它们在内容树中的名称和位置。

    【讨论】:

    • 感谢您花时间解释!我会试试。我从这个项目中休息了一段时间,所以我不记得我使用的节点是什么。我想我有一个根节点并且帐户在该节点下,但我可能弄错了。我会回来回答你的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    相关资源
    最近更新 更多