SharePoint网站URL重定向到SharePoint Online中的AllItem.aspx而不是所需的URL

问题描述

在SharePoint Online中,我遇到了一个奇怪的问题。 我有两个站点,站点A在其中创建了一些左侧导航,这些导航应将我定向到站点B的文档库。我已经为这些导航提供了正确的(Site-B文档库URL作为链接),但它无法将我定向到正确的位置。而是将我重定向到AllItems.aspx(如下所示为Site-B):

带我到这里:(不正确的网址)

company.sharepoint.com/sites/mysiteB/Shared%Documents/Forms/AllItems.aspx

我给它指定的URL :(正确的)

company.sharepoint.com/sites/mysiteB/Shared%Documents/Forms/AllItems.aspx?id=sites/mysiteB/Shared%Documents/folders/myfolder1

当我尝试打开如下图所示的导航时,它变得很有趣(而且很奇怪),它完全可以工作。

Navigation Options

任何帮助将不胜感激。 谢谢。

解决方法

为什么SharePoint会删除您的查询字符串参数

在网站上激活发布功能后,SharePoint会自动修剪查询字符串参数。

这大概是因为它在后台进行了一些额外的工作来监视链接,并在链接到的页面被重命名或删除时使链接保持最新。

有趣的是,如果您链​​接到另一个网站上的位置,或者完全链接到SharePoint之外的位置,它将保留查询字符串参数。这只是当前站点中的链接,将其剪裁掉。

潜在解决方案

1。禁用网站发布

您可能可以通过disabling the publishing feature解决此问题。

这样做的缺点是您将失去发布功能的所有优势,因此只有在不利用发布框架的情况下,才采用这种方法。

2。用JavaScript注入破解链接

我见过的一种解决方案是inject JavaScript到出现链接的每个页面上。 JavaScript会找到该链接并为您附加查询字符串参数。

那真是胡扯。

3。告诉SharePoint使用代码来表现自己

一种解决方法是告诉SharePoint您希望查询字符串参数是什么,或者告诉它此链接是外部的,因此不应区别对待。不幸的是,它只允许您执行此操作programmatically;没有用于添加查询字符串参数或将链接标记为外部的用户界面,并且发布基础结构功能提供的导航菜单不会删除它。

4。改为链接到重定向页面

最简单的最后一种可能的解决方法是创建重定向页面。

此页面上可能包含一些JavaScript,可将您发送到正确的页面,并将查询字符串参数附加到URL。您可以链接到左侧导航栏中的重定向页面,而不是直接使用查询字符串参数链接到页面。

<script> 
window.location.href = "https://company.sharepoint.com/sites/mysiteB/Shared%Documents/Forms/AllItems.aspx?id=sites/mysiteB/Shared%Documents/folders/myfolder1"; 
</script>

如果JavaScript对您的情况来说太吓人或危险,则该页面还可能只包含一些说明性文字和可单击的链接,而不是自动重定向。用户可以单击该链接进入带有附加到URL的正确查询字符串参数的页面。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...