问题是这样的 
<RewriterRule>
        <LookFor>~/Shop/main.html</LookFor>
        <SendTo>~/Shop/Main.aspx</SendTo>
      </RewriterRule>
我有这条规则
如果把规则改为 
<RewriterRule>
        <LookFor>~/Shop/</LookFor>
        <SendTo>~/Shop/Main.aspx</SendTo>
      </RewriterRule>
那就显示一个ftp的页面 如果<RewriterRule>
        <LookFor>~/Shop/(.[0-9]*)/main\.html</LookFor>
        <SendTo>~/Shop/ShopList.aspx?id=$1</SendTo>
      </RewriterRule>
改为
<RewriterRule>
        <LookFor>~/Shop/(.[0-9]*)/</LookFor>
        <SendTo>~/Shop/ShopList.aspx?id=$1</SendTo>
      </RewriterRule>就显示找不到页面 不知道怎么办!

解决方案 »

  1.   

    设置一下 iis ,不让它先检查文件是否存在,这样才能用url重写
      

  2.   

    很显然,添加这样一个目录结构可能是一件很痛苦的事情。解决此问题的方法是使所有传入的 IIS 请求都映射到 ASP.NET 引擎。通过这种方法,即使访问 URL /2004/03/,IIS 也会如实地将请求传递给 ASP.NET 引擎(即使并不存在 /2004/03/ 目录)。但是,使用这种方法将使 ASP.NET 引擎负责处理到达 Web 服务器的所有类型的传入请求,包括图像、CSS 文件、外部 JavaScript 文件、Macromedia Flash 文件,等等。我想知道这段话的问题我该怎么处理呢?
      

  3.   

    这段话我是从msdn上看来的 
    我的文件路径是 /Shop/id/sid/
    我想建立目录的问题太痛苦了 
    想照这段话来解决 也就是说 我现在的路径是/Shop/16/31/main.html 访问没问题
    如果是/Shop/16/31/ 访问就有问题了 找不到资源 
    就算是规则改成 <LookFor>~/Shop/(.[0-9]*)/(.[0-9]*)/</LookFor> 也没有用
      

  4.   


    我用了映射
    可是为什么/Shop/16/31/ 访问有问题呢? 还是要找页面