Вероятно, есть способ сделать это с IIS7. Хитрость заключается в том, чтобы обеспечить условие для предотвращения бесконечного цикла. К сожалению, я не уверен, как именно это сделать.
Но вы также можете сделать это в коде .NET очень легко, так как я делаю то же самое. Я бы просто поместил это в ваш Global.asax:
Imports System.Web.HttpContext
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim strWebsite As String = "http://www.mydomain.com"
If Not Current.Request.Url.AbsoluteUri.StartsWith(strWebsite) Then
Current.Response.Clear()
Current.Response.Status = "301 Moved Permanently"
Current.Response.AddHeader("Location", strWebsite & Current.Request.RawUrl)
Current.Response.End()
End If
End Sub