在web.config中的设置
<httpHandlers>
<add verb="*" path="*.aspx" type="包名,类名"/>
</httpHandlers>
其中.aspx 可以设置成其它的, 如.do .ht 。。。不过得在IIS中设置一下,
让它们的处理程序都指向和.aspx 一样的。
类的实现也很简单, 实现IHttpHandlerFactory 接口
class ReWriteUrl : IHttpHandlerFactory
{
#region IHttpHandlerFactory 成员
public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
{
context.RewritePath("newUrl") ; // 通过这个函数重写就可以了
return System.Web.UI.PageParser.GetCompiledPageInstance("虚拟路径","物理路径",context);
}
public void ReleaseHandler(IHttpHandler handler)
{
throw new Exception("The method or operation is not implemented.");
}
#endregion
}