跨网站页面转换过程中的 URL 映射

执行跨网站页面转换时,默认情况下将使用 URL 映射。 当你对发布页面进行现代化时,必须进行跨站点页面转换,因为你始终在新式(通信)站点内创建新式页面。 当你对现场团队网站进行现代化时,在应用跨站点 URL 映射时,没有理由映射 URL。 URL 映射将自动将指向“源”位置的 URL 替换为指向“目标”位置的类似 URL。 默认 URL 映射组件默认情况下处于活动状态(但可以禁用),此外还有一个可选的自定义 URL 映射组件可供使用。

URL 映射适用于何处?

URL 映射/重写适用于以下位置:

  • 新式页面上的所有内容最终都作为文本部分(自 2019 年 5 月版起)
  • SummaryLinks 转换为文本内容或新式 QuickLinks Web 部件(自 2019 年 5 月版起)
  • 图像的定位标记(自 2019 年 11 月版起)

默认 URL 映射逻辑

如上所述,每当进行跨站点转换时,默认情况下都会应用 URL 映射。 默认 URL 映射机制将映射当前 Web 和整个网站以及相关 URL + 它将处理从经典发布“页面”库转换到新的新式 SitePages 库。 下面的示例显示默认 URL 映射的工作原理。 假设源站点是下面的 http://contoso.com/sites/portal/hr, 并且目标通信站点存在于 https://contoso.sharepoint.com/sites/hr 中,则应用以下 URL 重写:

关闭 URL 映射

如果不想要 URL 映射发生,可以通过 PnP PowerShell 中的 -SkipUrlRewriting 标志或通过 .Net 页面转换配置对象(PageTransformationInformationPublishingPageTransformationInformation)的 SkipUrlRewrite 属性禁用。

自定义 URL 映射

如果要执行默认映射逻辑所处理映射意外的附加映射,则需要提供列出自定义 URL 映射定义的文件。 这是一个简单的 CSV 文件,没有标题列出源和目标 URL 值。 在 CSV 文件中,可以使用逗号 (,) 或分号 (;) 作为分隔符。

https://contoso.com/intranet,https://contoso.sharepoint.com/sites/intranet
/sites/hr,/sites/myhrportal

若要使用此自定义 URL 映射文件,只需将页面转换引擎指向你的文件。 使用 PnP PowerShell 时,可以使用 ConvertTo-ClientSidePage cmdlet 的-UrlMappingFile 参数(例如 -UrlMappingFile "c:\temp\urlmap.csv")或使用 .Net 页面转换配置对象(PageTransformationInformationPublishingPageTransformationInformation)的 UrlMappingFile 属性。

自定义 URL 映射与默认 URL 映射

使用自定义 URL 映射时,必须了解它是如何与默认 URL 映射一起工作的:

  • 自定义 URL 映射在默认 URL 映射之前执行,这允许你通过指定默认重写 URL 的自定义映射来更改默认 URL 映射行为
  • 禁用 URL 映射时,也会禁用自定义 URL 映射。 如果你只想使用自定义 URL 映射,则可以使用 ConvertTo-ClientSidePage cmdlet 的 -SkipDefaultUrlRewriting 参数或使用 .Net 页面转换配置对象(PageTransformationInformationPublishingPageTransformationInformation)的 SkipDefaultUrlRewrite 属性。