asp.net url重写问题
我采取的是HttpModule的方式进行重写
在本机(iis7.5)上,这种方式可以拦截后缀为html的网址,也可以拦截无后缀的网址
在办公室(iis5.1)的机器上,这种方式可以拦截后缀html的网址,但不可以拦截无后缀的网址
在服务器上(iis6.0)上,这种方式不可以拦截后缀为html的网址,只能拦截无后缀的网址
下面是代码
public class HttpModule : IHttpModule { private HttpContext context; private string Root; private string Url; public void Dispose() { } public void Init(HttpApplication context) { this.context = context.Context; Root = this.context.Request.ApplicationPath; context.BeginRequest += new EventHandler(Application_BeginRequest); } private void Application_BeginRequest(object sender, EventArgs e) { context = sender.To<HttpApplication>().Context; Url = context.Request.Url.LocalPath.ToLower(); if (string.IsNullOrEmpty(Url.RegExReplace(Root+"/index", ""))) { context.RewritePath(Root+"/Index.aspx"); }}}