在C#中實現多域名下的重定向,可以通過使用ASP.NET的URL Rewrite模塊來實現。以下是一個示例代碼:
using System;
using System.Web;
public class RedirectModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(this.context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
string currentDomain = context.Request.Url.Host;
if (currentDomain == "www.domain1.com")
{
context.Response.Redirect("http://www.domain2.com" + context.Request.Url.PathAndQuery);
}
else if (currentDomain == "www.domain3.com")
{
context.Response.Redirect("http://www.domain4.com" + context.Request.Url.PathAndQuery);
}
}
public void Dispose()
{
}
}
在以上示例代碼中,創建了一個實現了IHttpModule接口的RedirectModule類,該模塊在請求開始時會檢查當前的域名,然后根據不同的域名進行重定向操作。可以根據實際需求修改重定向的邏輯和目標域名。最后,需要在web.config文件中配置使用該模塊:
<configuration>
<system.webServer>
<modules>
<add name="RedirectModule" type="Namespace.RedirectModule"/>
</modules>
</system.webServer>
</configuration>
其中,Namespace為RedirectModule類所在的命名空間。這樣就可以實現多域名下的重定向功能。