【问题标题】:ASP.Net - Redirect any request to another domain of the same pathASP.Net - 将任何请求重定向到同一路径的另一个域
【发布时间】:2010-02-17 20:27:41
【问题描述】:

我将处于这样一种情况,即我将拥有 www.DomainA.com 和 www.DomainB.com,每个都有单独的 IP。所有对 www.DomainB.com/{Path} 的请求,我想重定向到 www.DomainA.com/{Path}。

我最初的反应是,在基本目录中,简单地创建一个 HTTPModule 和 Web.config 以添加到模块中,然后模块会将请求重定向到 DomainA。唯一的问题是 IIS 没有执行模块,而是根据请求的路径确定自己是否有匹配的文件或应用程序要运行(即,您将收到有关请求的文件不存在的错误,或有关未找到请求的应用程序的安全错误)。

我需要在 IIS 中进行哪些更改才能始终运行我的模块?或者有没有更简单的方法可以使用 .Net 2.0 和 IIS6 来做到这一点?

【问题讨论】:

    标签: asp.net iis-6


    【解决方案1】:

    只需做一个简单的应用程序,然后在 Global.asax Application_BeginRequest 中输入要重定向的代码 - 类似于:

    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
        Dim strPath As String = HttpContext.Current.Request.Url.PathAndQuery
        HttpContext.Current.Response.Clear()
        HttpContext.Current.Response.Status = "301 Moved Permanently"
        HttpContext.Current.Response.StatusCode = 301
        HttpContext.Current.Response.AddHeader("Location", "www.DomainA.com" & strPath)
    End Sub
    

    记住 301 状态码,让搜索引擎满意,让他们知道这是一个永久重定向。

    【讨论】:

      【解决方案2】:

      关注these instructions 强制 IIS 通过 ASP.Net 发送所有请求。

      【讨论】:

        猜你喜欢
        • 2014-09-06
        • 2017-11-27
        • 2011-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-19
        • 2014-03-07
        相关资源
        最近更新 更多