gpt4 book ai didi

url-rewriting - 如何重写或缩短 Sitecore URL

转载 作者:行者123 更新时间:2023-12-04 03:19:18 25 4
gpt4 key购买 nike

我有 Sitecore 带有网址的网站
http://www.abc.com/our-resorts/resort1/career.aspx
但我想缩短网址,如
http://www.abc.com/resort1/career.aspx .知道如何删除 our-resorts从网址。

enter image description here

请任何来自 Sitecore 社区的人帮助我......

谢谢

最佳答案

我想到的第一个答案是使用自定义 LinkProvider (生成网站上的网址)和自定义 ItemResolver (在缩短的 url 出现时解析项目)。

  • 创建您自己的类(class) MyLinkProvider继承自 Sitecore.Links.LinkProvider并覆盖 GetItemUrl方法。如果 url 包含 /our-resorts/ , 删除 our-resorts .当然,这假设您没有名称为 our-resorts 的项目。在链接生成中不应省略。替换 Sitecore.config 标准 LinkProvider与新的。
  • 创建 MyItemResolver继承自 HttpRequestProcessor 的类并将其添加到 <httpRequestBegin>直接在 ItemResolver 之后的管道.新项目解析器的代码:

  • public class ItemResolver : HttpRequestProcessor
    {
    public override void Process(HttpRequestArgs args)
    {
    if (Context.Item != null || Context.Database == null || args.Url.ItemPath.Length == 0)
    return;
    string path = "/our-resorts" + MainUtil.DecodeName(args.Url.ItemPath);
    Context.Item = args.GetItem(path);
    }
    }

    我还没有编译或测试代码,所以你需要自己测试它。如果您还有其他问题,请在下方留言。

    关于url-rewriting - 如何重写或缩短 Sitecore URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20591916/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com