我在web.config写入了下面两句 
   <rewrite url="([a-z0-9A-Z]+).htm" to="~/$1.aspx" processing="stop"/>
    <rewrite url="([a-z]+)/([a-z0-9A-Z]+).htm$" to="~/$1/$2.aspx" processing="stop"/>
为什么我在加连接basic/asd.htm时,还是使用的是第一句来解释。

解决方案 »

  1.   

     <rewrite url="^([a-z0-9A-Z]+).htm" to="~/$1.aspx" processing="stop"/>
      

  2.   

    <rewrite url="([a-z0-9A-Z]+).htm" to="~/$1.aspx" processing="stop"/>
    能匹配“basic/asd.htm”的,因为你没有指定匹配完整的url。正则([a-z0-9A-Z]+).htm表示匹配目标字符串的一部分,如果你要匹配整个字符串,请使用开始结束标记“^$”,修改成:
    <rewrite url="^([a-z0-9A-Z]+).htm$" to="~/$1.aspx" processing="stop"/>
      

  3.   

    up+1
    <rewrite url="^([a-z0-9A-Z]+).htm$" to="~/$1.aspx" processing="stop"/>