灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2634回复:0

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

楼主#
更多 发布于:2011-12-08 17:05
前几天对网站的空间进行了更换,发现原有的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:数字}代替$ 字符。至于多个参数时,别忘记使用; 替换; 符号


喜欢0 评分0
游客

返回顶部