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

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

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

 

[plain] view plain copy print ?
  1. <system.webServer>
  2. <rewrite>
  3. <rules>
  4. <rule name="rulename">
  5. <match url="newurl" ignoreCase="false" />
  6. <action type="Rewrite" url="oriurl" appendQueryString="false" />
  7. </rule>
  8. </rules>
  9. </rewrite>
  10. </system.webServer>

<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 名称应该保持不同。

 

[plain] view plain copy print ?
  1. <rewrite>
  2. <rules>
  3. <rule name="rule1">
  4. <match url="articles/(\S+)\.html" ignoreCase="true" />
  5. <action type="Rewrite" url="articles/Default.aspx?SubClass={R:1}" appendQueryString="true" />
  6. </rule>
  7. </rules>
  8. </rewrite>

<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; 替换 & 符号

http://blog.csdn.net/tang280/article/details/7050294

你可能感兴趣的:(职场,Web.Config,休闲,IIS7,下配置,实现伪静)