首先需要设置web.config文件:
<httpModules>
<add type="redirect.HttpModule, redirect" name="HttpModule"/>
</httpModules>
用于通过asp.net引擎,将请求地址重定向
创建HttpModule.cs文件
public class HttpModule:System.Web.IHttpModule
{
#region IHttpModule 成员
public void Dispose()
{
throw new Exception("The method or operation is not implemented.");
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(ReUrl_BeginRequest);
}
#endregion
/// <summary>
/// 重写Url
/// </summary>
/// <param name="sender">事件的源</param>
/// <param name="e">包含事件数据的 EventArgs</param>
private void ReUrl_BeginRequest(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
string requestUrl = context.Request.Path.ToLower();
if (requestUrl.IndexOf("test")!=-1)
{
context.RewritePath("/default.aspx?id=111");
}
return;
}
}
以上是一个简单模拟通过httpmodule实现网页重定向功能。