Sitecore - 将网址中的“_”重写为“-”,但会出现 404

2024-04-26

我正在使用 Sitecore 7.5 并替换了两件事

<replace mode="on" find=" " replaceWith="-" />(Space with hyphen) 
<replace mode="on" find="_" replaceWith="-" />(underscore with hyphen) 

用连字符(-)替换空格(“”)工作正常,但在下划线(_)的情况下,它在连字符(-)中发生变化,但重定向到404,知道吗?

我们可以通过事件处理程序来管理它,但不想这样做。


我评论过另一个答案 https://stackoverflow.com/a/16226371/661447问题在于,在解决项目时,传入的内容应用了反向替换。由于您有两个替换都映射到“-”,因此在传入时它会失败,因为它最初尝试用空格替换“-”,但其中一些连字符应该是下划线,但它不知道哪个应该是哪个。

例如,给定路径:/path to some/item_url那么生成的url是/path-to-some/item-url.

传入时,会回复反向替换,Sitecore 现在正在寻找/path to some/item url,它不存在,因此抛出 404。由于“_”(下划线)被“-”(连字符)替换,因此传入时“-”(连字符)被“”(空格)替换。由于没有连字符可供替换,因此无法用下划线替换。

看看Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel你会看到一个电话MainUtil.DecodeName(args.Url.ItemPath)其中应用了 EncodeNameReplacements。

您最好首先使用事件处理程序来处理这些问题,这样您就不需要担心任何类型的映射。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sitecore - 将网址中的“_”重写为“-”,但会出现 404 的相关文章

  • Sitecore页面编辑器-如何扩展页面编辑器项目编辑面板

    需要在页面编辑器 项目编辑部分添加 发布 功能 在 更多 部分下是理想的 我怎样才能做到这一点 首先您需要创建一个命令类 最简单的版本是 using System using Sitecore Shell Applications WebE
  • 如何使用 Sitecore 中的工作流程向原始提交者发送电子邮件?

    当某个项目在工作流程中被审阅者拒绝时 我如何通知提交者 这似乎是一种很常见的情况 但我只看到 电子邮件操作 项中最基本的字段 收件人 发件人 主题 消息 是否有用户的系统变量以及用户的电子邮件地址 我希望它是这样的 user email G
  • sitecore 中的基本 MembershipProvider

    我正在尝试为 sitecore 实现一个非常非常简单的 MembershipProvider 但我不确定它是否是too简单到实际工作 基本上我们已经有一个用于用户数据的自定义存储 所以我知道客户MembershipProvider是要走的路
  • Sitecore Field Renderer - 在渲染内添加标记

    作为 SEO 增强项目的一部分 我的任务是在字段渲染器在页面上生成的图像的标记内添加以下属性 itemprop contentURL 在结束标签之前
  • 在 Sitecore 中自定义子布局缓存

    在 Sitecore 中使用 WebControls 时 有一种方法可以自定义缓存行为 override获取缓存ID方法 有没有办法通过子布局 用户控件 实现类似的效果 我想添加自定义 VaryBy 选项 示例 Vary By Moon P
  • Sitecore 8.1 输出缓存未清除

    我们在使用 ASP NET MVC 编写的 Azure Web Apps 中托管的不同服务器上有 CA 和 CD 我在下面添加了这样的内容 以便在发布结束时清除输出缓存
  • Sitecore 软件包安装永无止境

    我遇到了一个有趣的问题 当我安装 Sitecore 软件包时 当软件包完全安装后 用户界面永远不会更新 Sitecore 软件包安装挂起 在 Sitecore 日志中我看到 ManagedPoolThread 18 11 36 00 INF
  • Sitecore 是否自动使用快速查询?

    根据 Sitecore 数据定义参考 版本 6 4 第 4 3 1 节 Sitecore 使用以下方式处理查询 禁食技术成为可能 这可以 可以是 SQL 数据库 如果 数据提供者支持所请求的 查询 或在 Sitecore 数据中 经理 如果
  • Sitecore Analytics 机器人 SessionTimeout 导致会话过早超时

    在我们的一个项目中 我们遇到了随机会话超时问题 通过最近的发现 我注意到 Sitecore Analytics Robots SessionTimeout 可能是导致它的原因 我们注意到 在随机会话超时时 超时值设置为 1 分钟 而不是我们
  • Sitecore 管道上传处理器

    我正在使用 UploadProcessor 阻止特定文件上传到 MediaLibrary 一切正常 我可以看到 Sitecore 的警报消息 但是 Sitecore 的错误消息并不真正用户友好 无法上传一个或多个文件 请参阅日志文件了解更多
  • Sitecore 中子布局的多变量测试

    我过去曾尝试过这个概念 现在对在我公司的 Sitecore 网站上使用多变量测试感兴趣 我认为在很多地方我们绝对可以通过使用 A B 测试来提高销量 运行两个完全不同的模板 看看哪种布局更适合用户 在网站上运行许多不同的子布局 表单 以查看
  • Sitecore DateField 的 DateTime 属性显示错误的日期

    在我的 Sitecore 项目中我使用DateTime Sitecore 的类型 字段作为属性Item 我试图通过以下代码获取该值 var dateField DateField item Fields Date var itemDate
  • 如何单独渲染媒体库项目?

    如何使用 Sitecore 控件在子布局中渲染媒体库项目图像 对于具有 图像 字段的普通内容项来说 这是小菜一碟 只需使用sc Image or FieldRenderer控制 但我有这样的事情
  • Sitecore 与 LDAP - 以编程方式进行身份验证

    我正在 Sitecore 中创建一个应用程序 我只希望用户可以通过直接 URL 来使用它 我希望针对 LDAP 进行身份验证 我尝试直接进入应用程序并让它重定向到自动登录页面并将我重定向到应用程序 但它没有这样做 相反 它带我进入了 Sit
  • 如何在 Sitecore 后端插入自定义 Javascript

    非常简单 我需要在 Sitecores v 6 4 后端插入一个脚本 我该怎么做 脚本放在里面没关系 or 如果我只能指定src of a
  • 在 Sitecore MVC 中的视图中获取媒体 url

    我有一个存储在媒体库中的 mp3 文件 它在项目的媒体字段中被引用 我可以通过在 Web 表单或类中执行 Sitecore Resources Media MediaManager GetMediaURL 来获取 URL 但是如何在 MVC
  • Sitecore 插入规则以确保最多 (1) 个特定类型的子级

    sitecore 中有没有办法确保某种类型的项目只能有某种类型项目的 1 个子项 我正在阅读规则引擎食谱 但我没有得到太多细节 我工作过的一个网站要求特定项目类型下不能存在超过 6 个子项目 我们考虑过使用插入选项规则 但决定放弃这个想法
  • WFFM 8.0 - 缺少保存到数据库操作

    我刚刚安装了 Web Forms For Marketers 8 0 并做了一个测试表单 尝试选择Save to Database从操作列表中但它不存在 另外 我已经检查过 sitecore system Modules Web Forms
  • Sitecore - 参数模板中的图像字段

    如果我的参数模板中有一个图像字段 那么在 C 中获取图像的 URL 涉及哪些步骤 mdresser 对于什么应该是什么不应该是渲染参数提出了一个有效的观点 但是 我不认为 Sitecore 故意让在参数模板中使用图像字段变得困难 他们只是在
  • 如何将新项目标记为未发布项目?

    在 sitecore 中 如果我将新项目添加到主数据库 未发布 它不会显示有关已发布状态的任何指示 例如 如果用户添加了 10 个项目 他可能会困惑于找出他添加的待发布项目 有没有办法将新添加的项目识别为未发布或新项目 并在 快速操作栏 中

随机推荐

  • Kubernetes:用 Calico 替代 Flannel

    我是 Kubernetes 新手 我想尝试不同的 CNI 在我当前的集群中 我正在使用 Flannel 现在 我想使用 Calico 但我找不到清理 Flannel 和安装 Calico 的正确指南 您能指出正确的程序吗 Thanks Ca
  • 涉及优化器的局部变量构造和销毁

    如果我有这个代码 class A class B void dummy A a B b 我知道变量a and b将以相反的分配顺序销毁 b将首先被摧毁 然后a 但我可以确定优化器永远不会交换的分配和构造a and b 或者我必须使用vola
  • 有没有办法在 C++ 中调用类外部的基函数?

    这个问题是类似的 但是是关于从类内部调用函数 如果我重写基类的虚函数 我可以调用它吗 https stackoverflow com questions 672373 can i call a base classs virtual fun
  • 使用 Google 电子表格中的脚本从手机获取我的当前位置

    有没有办法使用 Google Apps 脚本从手机的 GPS 数据中获取我的当前位置 纬度和经度 最好是十进制形式 另外 是否可以打开和关闭 GPS 或者至少检测它是否打开或关闭 这是我尝试做的 我带着电动助力车去一些地方 在每个地方我都会
  • 指定 ghci 中“加载”操作的搜索路径

    In 加载源文件 http www haskell org ghc docs 7 6 1 html users guide loading source files html它指出查找源文件的搜索路径是使用 i 选项指定的 ghci idi
  • XDoclet,一个死工具?

    我正在使用最新的 Eclipse for Java EE 和最新的 JBoss Tools 插件 现在 我正在编写一些 EJB 2 x 代码 我找不到像以前一样生成 xdoclet build xml 文件的方法 经过一番调查后 我开始问自
  • 仅适用于我所在国家/地区的 Google 地图?

    如何在 Android 应用程序中使用 Google 地图 使其仅显示我的国家 地区 我的意思是 世界其他地方不会出现在应用程序中 查看其中之一迈克 威廉姆斯 http econym org uk gmap range htm很棒的 GMa
  • 请求头字段X-Requested

    我正在尝试访问谷歌云存储上的存储桶中的文件 我已经为存储桶设置了 CORS 配置 但当我通过 https 发出请求时 出现此错误 它适用于通过 http 发出的请求 XMLHttpRequest 无法加载 FILENAME 预检响应中的 A
  • 无限地重复可枚举

    是否存在无限重复可枚举的可枚举扩展方法 例如 给定一个返回的枚举 a b c 我想要一个返回无限重复序列的方法 a b c a b c a b c 这听起来有点像可观察 重复 http msdn microsoft com en us li
  • 如何像普通命令行程序一样从 shell 运行 sbt 主类?

    如何从 shell 运行 sbt 应用程序 以便我可以将我的应用程序作为普通的命令行程序运行 就像直接通过scala但不必设置巨大的类路径 我知道我能做到 echo hello sbt run main com foo MyMain3 ar
  • 当我在 Visual Studio 2017 的 C# 中调用方法时,是否有指向显式命名参数的快捷方式?

    在 C 中 我有一个带有许多参数的方法 我想使用所有命名参数调用该方法 VisualStudio 2017 中有执行此操作的快捷方式吗 我使用 EF6 并使用 SQL 2014 从具有 10 多个输入参数的存储过程生成方法 Method p
  • 如何将“&[email protected]”附加到 GoogleWebAuthorizationBroker

    我想将 login hint 附加到向 Google 发出的身份验证请求中 我正在使用以下代码 FileDataStore fDS new FileDataStore Logger Folder true GoogleClientSecre
  • 创建新的 SqlDataAdapter 时出现 C# InvalidOperationException

    我编写了一些代码来建立与 SQL Server 的连接 然后执行 select 过程以从 SQL Server 中的数据表中获取所有数据 但它在声明新的 SqlDataAdapter 的命令中抛出 InvalidOperationExcep
  • 如何使用 ASP.NET MVC 控制器操作将文件发送到浏览器?

    我有一个应用程序 允许我的用户上传任何类型的文件 我将其保存在服务器上的文件系统中 该应用程序只能由两个用户访问 因此我无需担心上传任何可疑文件 如何允许用户按下 MVC 表单上的按钮来请求通过浏览器发回文件并显示标准保存 打开对话框 我想
  • C# 如何获取 COM 接口的实例

    我做了很多谷歌搜索 试图找到获取 COM 接口实例的标准方法 微软在他们的文章中提供了一个例子COM 互操作第 1 部分 客户端教程 https msdn microsoft com en us library aa645736 v vs
  • WCF 绑定到 HTTPS

    我知道有很多关于此的帖子 并且我已经浏览了搜索中出现的所有帖子并实现了所提到的所有内容 我有一个 WCF Web 服务 可以在我的本地系统上使用 HTTP 运行 也可以在服务器上使用 HTTP 运行 但客户端要求这通过 HTTPS 进行 这
  • Oracle 中的重复行

    如何防止在选择查询中选择重复的行 我有一个包含以下字段的表 name type user1 user2 user3 date 我的查询要求我仅在用户在前端输入的时间为特定用户选择数据 假设用户输入 1 那么选择查询应仅检索 user1 的数
  • 使用 Rivets.js 迭代 Backbone.js 模型的集合?

    我在用着铆钉 js http rivetsjs com 对于 Backbone 项目中的两个双向数据绑定 并且希望实现迭代绑定 文档表明迭代绑定是可能的 但没有可用的示例 我正在使用一个简单的 Rails API 将 JSON 发送到客户端
  • 无法让 raycaster.intersectObjects() 从远处返回相交的对象

    我有一个包含几个随机数的散点图Sprite用作数据点的对象 我想检测鼠标指针 光标 和Sprite对象 我用来检测交叉点的设置如下 var projector new THREE Projector window addEventListe
  • Sitecore - 将网址中的“_”重写为“-”,但会出现 404

    我正在使用 Sitecore 7 5 并替换了两件事