iis7下配置web.config实现伪静态
3626 点击·0 回帖
![]() | ![]() | |
![]() | 前几天对网站的空间进行了更换,发现原有的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:数字}代替$ 字符。至于多个参数时,别忘记使用; 替换; 符号 | |
![]() | ![]() |