http://msdn.microsoft.com/zh-cn/library/ms972974.aspx这里下的URLRewriter,在配置文件里进行了如下配置  <RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor><![CDATA[~/(\d*)/test\.aspx]]></LookFor>
        <SendTo><![CDATA[~/test.aspx?id=$1]]></SendTo>
      </RewriterRule>      <RewriterRule>
        <LookFor><![CDATA[~/abc(/*)]]></LookFor>
        <SendTo><![CDATA[~/default.aspx]]></SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>是想将 http://localhost/123/test.aspx转发到http://localhost/test.aspx?id=123http://localhost/abc/转发到http://localhost/default.aspx在VS里直接运行是没有问题的,当放到IIS里,第二个就不行了,为什么?如何才能达到我想要的结果,http://localhost/abc/转发到http://localhost/default.aspx

解决方案 »

  1.   

    iis不会把“/”发送给asp.net扩展,所以http://localhost/abc/不能重定向,
    解决方法有两种,一种是修改iis配置,把所有文件类型交给asp.net扩展处理
    还有一种更简单,在abc目录下放一个空的default.aspx文件,修改重写规则如下
    <RewriterRule>
      <LookFor><~/abc/default.aspx></LookFor>
      <SendTo><~/default.aspx></SendTo>
    </RewriterRule>
      

  2.   

    怎么修改配置?修改成什么?
    因为我是想把  username/转发到 userPage.aspx?user=userName
      

  3.   

    iis 中对应网站名称-->属性-->虚拟目录下的配置-->添加--可执行文件输入:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,扩展名:*,确认文件是否存在不勾选
      

  4.   

    昨天刚做了一个网站伪静态!
    就是在iis里也要配置,我是转html的,要添加一个后缀是html。
      

  5.   

    要再这里添加*不过有样式问题会加载不上,据有高手说是重写以后因为路径变了,所以样式加载时要从跟目录下找,不过我试了,没见效果,也有其他方法,看着很复杂,如果楼主解决别忘分享一下
    <httpHandlers>
          
          <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
          <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
          <!--使用*时不能加载css-->
          <add verb="*" path="*" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>