首页 文章

在Sharepoint中将用户从旧Web重定向到另一个Web

提问于
浏览
0

我想添加在用户访问某些旧网站时重定向的功能 . 旧站点的URL未知,但服务器名称相同,例如

旧网站网址:

http://sharepoint/mySite/default.aspx

新网站网址:

http://sharepoint/myNewSite/...

mySite中有很多其他页面,其中大部分必须重定向到新站点,但也有例外(例如,用户仍然可以查看站点内的文档) . 我以为我必须通过某种方式捕获http请求并以自己的方式读取URL来以编程方式执行此操作 . 作为没有共享点的专家,我有一个快速的谷歌,并发现写一个网络部分可能是我的情况的最佳选择 .

但我只是想知道,鉴于我的情况和需求,正在编写一个Web部件,或者编程方式,真的是理想的解决方案吗?或者是否有更快更快的方法来实现我想要的Sharepoint?

谢谢 .

5 回答

  • 0

    您可以实现侦听 System.Web.HttpApplication.BeginRequest 事件的 System.Web.IHttpModule ,检测请求URL是否指向旧站点并在必要时重定向到新站点 .

    Sharepoint部分涉及创建 Microsoft.SharePoint.Administration.SPWebConfigModification ,它将对模块的引用添加到您拥有的每个Web前端的web.config文件中 . 如果您将其实现为Web应用程序级功能,则功能接收器激活方法的代码如下所示:

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        var webApplication = (SPWebApplication)properties.Feature.Parent;
        var redirectionModuleType = typeof(MyRedirectionModule);
        var modification = new SPWebConfigModification()
        {
            Name = "add[@name='MyRedirectionModule']",
            Path = "configuration/system.web/httpModules",
            Owner = "MyModule",
            Sequence = 0,
            Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode,
            Value = "<add name=\"MyRedirectionModule\" type=\"" + redirectionModuleType.FullName + ", " + redirectionModuleType.Assembly.FullName + "\" />"
        };
        webApplication.WebConfigModifications.Add(modification);
        webApplication.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
        webApplication.Update();
    }
    
  • 0

    你可以用三种方式做到这一点

    • 创建自定义HTTP模块(良好的解决方案)

    • 在旧网站的母版页中编写一个javascript代码,以重定向到新页面(location.href)(易于创建,但从客户端进行导航)

    • 编写一个带有重定向代码的webpart,并在旧站点的母版页中部署(比point1更容易)

  • 2

    您可以考虑自动将一些JavaScript逻辑注入到处理重定向的网站集的每个页面,而不是修改母版页 .

    看看our free SharePoint Infuser tool .

  • 0

    如果您使用负载均衡器或ISA Server等反向代理,则可以在这些级别实施重定向规则 .

  • 0

    有人为你做了这个:)

    SharePoint Smart 404 Feature . 它允许您添加重定向规则以创建虚荣URL并很好地处理404 .

相关问题