使用HttpModule实现网址重写

1.  修改配置文件:

 <httpModules>
<</span>add name="html" type="HttpModule"/>
</httpModules>

2.  编写HttpModule类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; ///URL重写 的摘要说明
///1.创建类文件 HttpModule.cs
///2.实现IHttpModule接口的方法 public class HttpModule : IHttpModule
{
//清理资源
public HttpModule(){} public void Dispose(){}
///
/// 初始化
///
///
public void Init(HttpApplication context)
{
//3.在初始化方法中添加事件处理方法
context.BeginRequest += new EventHandler(BeginRequest);
context.EndRequest += new EventHandler(EndRequest);
} //4. 编写开始处理请求代码 public void BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
//app.Response.Write("开始处理请求!");
//4.1 截获请求网址
string url = app.Request.RawUrl;
//4.2 判断网址是否符合要求,判断是否进行重发到指定页面
if (url.LastIndexOf(".html") > )
{
//转发到指定页面
app.Server.Transfer("~/HttpMoudle/UrlReWrite.aspx");
}
} public void EndRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
//app.Response.Write("结束处理请求!");
}
}

3.再次访问.html结尾的网址是,就会跳转到指定的页面,当然,也可以截取字符串,仅仅把.aspx替换为.html更好!

上一篇:(zhuan) Evolution Strategies as a Scalable Alternative to Reinforcement Learning


下一篇:基于visual Studio2013解决面试题之1402选择排序