在您的 Web 服务器中,您站点的应用程序池必须具有集成管道模式,如下所示。
或者您可以通过应用程序池的基本设置找到它,如下所示。
然后我在我的示例 MVC 应用程序中添加了 HttpModule
Http模块
public class MyModule1 : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += context_BeginRequest;
}
public void Dispose() { }
void context_BeginRequest(object sender, EventArgs e)
{
if (!System.Web.HttpContext
.Current
.Request
.Url
.Authority
.Contains("foo.mydomain.com"))
{
string URL =
(System.Web.HttpContext.Current.Request.Url.Scheme + "://" +
"foo.mydomain.com" +
HttpContext.Current.Request.Url.AbsolutePath +
HttpContext.Current.Request.Url.Query);
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.StatusCode = 301;
System.Web.HttpContext.Current.Response.Status
= "301 Moved Permanently";
System.Web.HttpContext.Current.Response.RedirectLocation = URL;
System.Web.HttpContext.Current.Response.End();
}
}
}
然后我为我的 HttpModule 添加了一些代码 n Web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="MyModule1" type="rewrite.MyModule1" />
</modules>
<handlers>
<remove name="UrlRoutingHandler" />
</handlers>
</system.webServer>
<system.web>
<httpModules>
<add name="MyModule1" type="rewrite.MyModule1" />
</httpModules>
</system.web>
然后在主机文件中我添加了以下代码。
127.0.0.1 foo.mydomain.com
然后我为我的网站添加了绑定