2010-02-17 157 views
2

我將處於一種情況,我將擁有www.DomainA.com和www.DomainB.com,每個域都有單獨的IP。所有到www.DomainB.com/{Path}的請求,我想重定向到www.DomainA.com/{Path}。ASP.Net - 將任何請求重定向到同一路徑的另一個域

我最初的反應是,在基本目錄中,簡單地創建一個HTTPModule和Web.config添加到模塊中,然後模塊將請求重定向到DomainA。唯一的問題是IIS不執行模塊,而是根據請求的路徑確定是否有匹配的文件或應用程序運行(即,因此您將得到關於所請求的文件不存在的錯誤,或關於找不到請求的應用程序的安全錯誤)。

我需要在IIS中更改以始終運行我的模塊?或者有沒有更簡單的方法來使用.Net 2.0 & IIS6?

回答

4

只是做一個簡單的應用程序,然後在您的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個狀態碼,使搜索引擎快樂,讓他們知道它是一個永久的重定向。

相關問題