我想添加在用户访问某些旧网站时重定向的功能 . 旧站点的URL未知,但服务器名称相同,例如
旧网站网址:
http://sharepoint/mySite/default.aspx
新网站网址:
http://sharepoint/myNewSite/...
mySite中有很多其他页面,其中大部分必须重定向到新站点,但也有例外(例如,用户仍然可以查看站点内的文档) . 我以为我必须通过某种方式捕获http请求并以自己的方式读取URL来以编程方式执行此操作 . 作为没有共享点的专家,我有一个快速的谷歌,并发现写一个网络部分可能是我的情况的最佳选择 .
但我只是想知道,鉴于我的情况和需求,正在编写一个Web部件,或者编程方式,真的是理想的解决方案吗?或者是否有更快更快的方法来实现我想要的Sharepoint?
谢谢 .
5 回答
您可以实现侦听
System.Web.HttpApplication.BeginRequest
事件的System.Web.IHttpModule
,检测请求URL是否指向旧站点并在必要时重定向到新站点 .Sharepoint部分涉及创建
Microsoft.SharePoint.Administration.SPWebConfigModification
,它将对模块的引用添加到您拥有的每个Web前端的web.config文件中 . 如果您将其实现为Web应用程序级功能,则功能接收器激活方法的代码如下所示:你可以用三种方式做到这一点
创建自定义HTTP模块(良好的解决方案)
在旧网站的母版页中编写一个javascript代码,以重定向到新页面(location.href)(易于创建,但从客户端进行导航)
编写一个带有重定向代码的webpart,并在旧站点的母版页中部署(比point1更容易)
您可以考虑自动将一些JavaScript逻辑注入到处理重定向的网站集的每个页面,而不是修改母版页 .
看看our free SharePoint Infuser tool .
如果您使用负载均衡器或ISA Server等反向代理,则可以在这些级别实施重定向规则 .
有人为你做了这个:)
见SharePoint Smart 404 Feature . 它允许您添加重定向规则以创建虚荣URL并很好地处理404 .