在asp.net下实现URL Rewrite,存在一个问题,那就是目录必须是存在的
比如我希望www.csdn.net/kwklover实际上是访问
www.csdn.net/user.aspx?username=kwklover的时候
那么必须存在kwklover目录和一个default.aspx页面这样存在的问题是,当用户数量很大时,需要建立很多并没有用户的目录和default.aspx页面解决这个问题的方法之一是,在IIS里配置所有请求指向aspnet.dll大家有没有一种方法 可以不用配置IIS 也不用建立目录和DEFAULT.ASPX也的url rewrite方法 ?

解决方案 »

  1.   

    url rewrite不见得需要目录真的存在的,你可以在Application_BeginRequest用HttpContext的RewritePath方法重写成任何当前应用的URL,然后在其后再把<form>里的action去掉或重写成原始的请求URL就可以了,参考http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/urlrewriting.asp
      

  2.   

    to: saucer(思归)
    IIS把请求转到aspnet.dll的时候,asp.net的Application_BeginRequest事件才能做处理这就需要把所有请求在IIS里配置成指向aspnet.dll来出来才可以做到问题是 有没有一种可以不用配置IIS指向aspnet.dll的方案来实现这个要求呢?
      

  3.   

    有。你不要用aspx,全都自己写。
      

  4.   

    不指向aspnet_isapi.dll,那你怎么使用ASP.NET呢?除非自己写个ISAPI过滤器>>>问题是 有没有一种可以不用配置IIS指向aspnet.dll的方案来实现这个要求呢?除非是不用IIS,用IIS都要设置的,即使是自己的ISAPI