【问题标题】:Redirecting user from an old web to another in Sharepoint在 Sharepoint 中将用户从旧网站重定向到另一个网站
【发布时间】:2010-04-07 09:30:41
【问题描述】:

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

旧网址:

http://sharepoint/mySite/default.aspx

新网站网址:

http://sharepoint/myNewSite/...

mySite 中还有很多其他页面,其中大部分必须重定向到新站点,但也有例外(例如,用户仍然可以查看站点内的文档)。我想我必须通过某种方式捕获http请求并自己读取url以编程方式执行此操作。由于不是共享点专家,我快速 google 了一下,发现编写 Web 部件可能是适合我情况的最佳选择。

但我只是想知道,考虑到我的情况和需求,编写 Web 部件或以编程方式编写的东西真的是理想的解决方案吗?或者有没有更快更快速的方法来使用 Sharepoint 实现我想要的?

谢谢。

【问题讨论】:

    标签: sharepoint sharepoint-2007


    【解决方案1】:

    您可以实现一个System.Web.IHttpModule,它监听System.Web.HttpApplication.BeginRequest 事件,检测请求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();
    }
    

    【讨论】:

      【解决方案2】:

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

      1. 创建自定义 HTTP 模块(好的解决方案)
      2. 在旧网站的母版页中编写 javascript 代码以重定向到新页面 (location.href)(易于创建,但从客户端进行导航)
      3. 使用重定向代码编写 Web 部件并在旧站点的母版页中部署(比第 1 点更容易)

      【讨论】:

        【解决方案3】:

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

        看看our free SharePoint Infuser tool

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            已经有人为你做了这个:)

            SharePoint Smart 404 Feature。它允许您添加重定向规则来创建虚 url 并很好地处理 404。

            【讨论】:

              猜你喜欢
              • 2017-09-25
              • 1970-01-01
              • 1970-01-01
              • 2016-07-16
              • 1970-01-01
              • 2021-10-28
              • 1970-01-01
              • 2016-09-12
              • 1970-01-01
              相关资源
              最近更新 更多