跨网站页面转换过程中的 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 重写:
- http://contoso.com/sites/portal ->https://contoso.sharepoint.com/sites/hr
- http://contoso.com/sites/portal/pages ->https://contoso.sharepoint.com/sites/hr/sitepages
- /sites/portal -> /sites/hr
- /sites/portal/pages -> /sites/hr/sitepages
- http://contoso.com/sites/portal/hr ->https://contoso.sharepoint.com/sites/hr
- http://contoso.com/sites/portal/hr/pages ->https://contoso.sharepoint.com/sites/hr/sitepages
- /sites/portal/hr -> /sites/hr
- /sites/portal/hr/pages -> /sites/hr/sitepages
关闭 URL 映射
如果不想要 URL 映射发生,可以通过 PnP PowerShell 中的 -SkipUrlRewriting
标志或通过 .Net 页面转换配置对象(PageTransformationInformation
和 PublishingPageTransformationInformation
)的 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 页面转换配置对象(PageTransformationInformation
和 PublishingPageTransformationInformation
)的 UrlMappingFile
属性。
自定义 URL 映射与默认 URL 映射
使用自定义 URL 映射时,必须了解它是如何与默认 URL 映射一起工作的:
- 自定义 URL 映射在默认 URL 映射之前执行,这允许你通过指定默认重写 URL 的自定义映射来更改默认 URL 映射行为
- 禁用 URL 映射时,也会禁用自定义 URL 映射。 如果你只想使用自定义 URL 映射,则可以使用
ConvertTo-ClientSidePage
cmdlet 的-SkipDefaultUrlRewriting
参数或使用 .Net 页面转换配置对象(PageTransformationInformation
和PublishingPageTransformationInformation
)的SkipDefaultUrlRewrite
属性。