【问题标题】:Sitecore MVC 3 - alias or friendly urlSitecore MVC 3 - 别名或友好 url
【发布时间】:2012-03-08 22:56:01
【问题描述】:

我们正在使用 MVC 3 运行 Sitecore.NET 6.3.0。我有这个网址: https://test.mydomain.dk/myprivate/my-page/my-page/my-page/

对应的树形结构如下所示。 Sitecore > Content > Portal > Home > myprivate > my-page > my-page > my-page

当用户站在上面树状结构中提到的位置时,我想显示https://test.mydomain.dk/myprivate/my-page,而不是显示上面的url。

有没有一种简单的方法可以做到这一点,(阅读:无需编码)这是一种可以在 sitecore cms 后端本身内完成的方法。 我希望“编辑人员”能够自己做到这一点。

谢谢。

【问题讨论】:

    标签: sitecore alias friendly-url


    【解决方案1】:

    Afaik 做这种事情的唯一方法是使用别名。

    别名是:

    https://test.mydomain.dk/my-page(即缺少 myprivate)但应该可以工作。

    否则你将不得不进行某种编码。

    【讨论】:

    • 好的,我尝试创建别名并将其命名为 my-page ,让它链接到最后一个 my-page 节点。在浏览器上测试时,我仍然看到相同的 url。
    【解决方案2】:

    您可以使用 Sitecore 别名。 这可以在演示功能区中按项目进行配置 -> 别名

    您可以在别名中使用斜杠,因此“myprivate/my-page”将是一个有效的别名。

    【讨论】:

    • 好的,我尝试创建别名并将其命名为 my-page ,让它链接到最后一个 my-page 节点。之后我移动到最后一个我的页面节点并单击演示选项卡并添加我的页面。在浏览器上测试时,我仍然看到相同的 url。
    【解决方案3】:

    您可以使用别名来执行此操作,但是您可能需要覆盖 LinkProvider 以将该新 URL 呈现到前端:

    1. 创建一个别名,如“myprivate/my-page”以指向您的子页面
    2. 使用此 Sitecore 共享源 LinkProvider 覆盖 LinkProvider:http://svn.sitecore.net/LinkProvider/Trunk/Links/LinkProvider.cs

    这个新LinkProvider的摘要是:

    链接提供程序用逻辑覆盖默认值,具体取决于 配置,应用Rendering.SiteResolving 设置,应用别名 它们存在的项目,并将斜杠字符附加到没有 扩展名。

    关键是“[...]为存在的项目应用别名”

    【讨论】:

    • 大家好,感谢您的 cmets。我尝试了多种方法,但没有成功。我已经放弃了。
    猜你喜欢
    • 2014-07-21
    • 2013-02-14
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 2016-06-26
    • 2015-07-29
    相关资源
    最近更新 更多