protected void Application_BeginRequest( object sender, EventArgs e )
  {
    string Filepath = HttpContext.Current.Request.PhysicalPath;
    HttpContext.Current.Response.Write(System.IO.File.Exists(Filepath));
    if (System.IO.File.Exists(Filepath))
    {
     // HttpContext.Current.RewritePath("~/Default14.aspx");
      //如果存在请求的页面文件,就直接执行
    }
    else
    {
      HttpContext.Current.RewritePath("~/DataListCheckAll.aspx");
    }
  }这种可以实现nama.aspx进行改写
后来我用name想要这种就不行了
然后我给他添加一个name文件夹再添加一个default.aspx就可以
实现www.xxx.com/name
但是这样我有很多不可能每一个给添加一个文件夹
这种情况要怎么办才能实现www.xxx.com/name
改写到www.xxx.com/default.aspx?id=name

解决方案 »

  1.   

    这种方式,只有求*.aspx才会进行到这里.
      

  2.   

    给一个简单的例子:
    public class MyModule :IHttpModule
    {    #region IHttpModule 成员
        private HttpApplication Application;
        public void Dispose()
        {
            
        }    public void Init(HttpApplication context)
        {
            this.Application = context;
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }    void context_BeginRequest(object sender, EventArgs e)
        {
            this.Application.Context.RewritePath("default.aspx");
        }    #endregion
    }然后在web.config中加上
    <httpModules>
    <add name="MyModule" type="MyModule" />
    </httpModules>