我将会遇到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?
答案 0 :(得分: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状态代码,让搜索引擎感到高兴,让他们知道它是永久重定向。
答案 1 :(得分:2)
按照these instructions强制IIS通过ASP.Net发送所有请求。