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?id={R:1}" appendQueryString="false" />
        </rule>

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

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

 

posted @ 2015-03-30 20:21  安仲炜  阅读(653)  评论(0编辑  收藏