iis7/7.5下配置web.config实现伪静态

前几天对网站的空间进行了更换,发现原有的URL 重写已经无效了,原来使用的是urlRewriter 实现的伪静态,在IIS6中实现URL 重写大家可以参考下使用URLRewriter.dll实现url重定向。通过和客服沟通才认识到,在IIS7中我们不再需要安装其他组件,通过在web.config 进行简单的配置即可实现URL 的伪静态。方法如下:

 

在web.config 配置文件的configuration 节点中加入下边的代码:

 

<system.webServer>

<rewrite>

<rules>

<rule name=”rulename”>

<match url=”newurl” ignoreCase=”false” />

<action type=”Rewrite” url=”oriurl” appendQueryString=”false” />

</rule>

</rules>

</rewrite>

</system.webServer>

以下直接给出本站的URL 重写规则,相信大家会一目了然:其中,rule 节点即为每个重写规则,match 节点为伪静态的规则;ignoreCase 是忽略大小写;action 是响应的URL,即真正的URL;appendQueryString 为是否跟参数。添加多个rule 时,注意name 名称应该保持不同。

 

<rewrite>

<rules>

<rule name=”rule1″>

<match url=”articles/(\S+)\.html” ignoreCase=”true” />

<action type=”Rewrite” url=”articles/Default.aspx?SubClass={R:1}” appendQueryString=”true” />

</rule>

</rules>

</rewrite>

可见,在IIS6 里如果跟参数的话使用$ 字符,在IIS7 使用{R:数字}代替$ 字符。至于多个参数时,别忘记使用&amp; 替换& 符号