URLRewriter.dll url重写 为什么我地址栏老是显示重写前的地址:
http://localhost:6434/172737/CheXingDetail.aspx?CheXingID=26
而不是显示重写后的地址:
http://localhost:6434/172737/26.aspx
输入http://localhost:6434/172737/26.aspx就转到http://localhost:6434/172737/CheXingDetail.aspx?CheXingID=26页面
其他没什么问题。到底那出错了

解决方案 »

  1.   

    除了指定使用 HTTP 模块还是 HTTP 处理程序执行重写外,Web.config 文件还包含重写规则:重写规则由两个字符串组成:要在被请求的 URL 中查找的模式;要替换此模式的字符串(如果找到)。在 Web.config 文件中,此信息是使用以下语法表达的:<RewriterConfig>
       <Rules>
       <RewriterRule>
          <LookFor>要查找的模式</LookFor>
          <SendTo>要用来替换模式的字符串</SendTo>
       </RewriterRule>
       <RewriterRule>
          <LookFor>要查找的模式</LookFor>
          <SendTo>要用来替换模式的字符串</SendTo>
       </RewriterRule>
       ...
       </Rules>
    </RewriterConfig>
      

  2.   

    查看MSND帮助文档
    http://msdn.microsoft.com/zh-cn/library/ms972974.aspx按照步骤对照看自己少了哪些步骤或者是哪个步骤出现问题了
      

  3.   

    用URLRewriter重写url后,原来的网站所有连接是不是都要更改下 ,比如原来是:
      NavigateUrl='<%#"~/CheXingDetail.aspx?CheXingID="+Eval("CheXingID")%>' 
    现在要改成  NavigateUrl='<%#"~/Eval("CheXingID")%>'才对 。与这个规则匹配:
     <add virtualUrl="~/(.[0-9]*)\.aspx" destinationUrl="~/CheXingDetail.aspx?CheXingID==$1"/>