iis7.0/8.0rewrite规则

首先在网站 web.config 配置文件的 configuration 节点中加入如下代码:

<system.webServer>
     <rewrite>
         <rules>
             <rule name="rulename(不能重复)">
                 <match url="url(伪静态的规则)" ignoreCase="false" />
                 <action type="Rewrite" url="url(真正的URL)" appendQueryString="false" />
             </rule>
         </rules>
     </rewrite>
 </system.webServer>

其中,rule 节点即为每个重写规则,

match 节点为伪静态的规则;ignoreCase 是忽略大小写;

action 是响应的URL,即真正的URL;appendQueryString 为是否跟参数。

添加多个 rule 时,注意 name 名称应该保持不同。

参考实例:

<system.webServer>
    <rewrite>
      <rules>
<!—不传参数书写规则-->
        <rule name="Index">
          <match url="^Default.html$" ignoreCase="false" />
          <action type="Rewrite" url="Default.aspx" appendQueryString="false" />
        </rule>

<!—传单个参数书写规则-->
        <rule name="about">
          <match url="^aboutus_([0-9]+).html$" ignoreCase="false" />
          <action type="Rewrite" url="aboutus.aspx? appendQueryString="false" />
        </rule>

<!—传多个个参数书写规则-->
        <rule name="case show" stopProcessing="true">
          <match url="^caseShow_([0-9]+)_([0-9]+).html$"  />
          <action type="Rewrite" url="caseShow.aspx? />
        </rule>

      </rules>
    </rewrite>
  </system.webServer>