IIS7伪静态web.config配置的方法和规则
以前在IIS6上配置伪静态还是挺复杂的,IIS7之后使用了插件机制,这让我们做伪静态变得简单多了。
一、服务器需要安装:URLRewrite扩展
下载地址:http://www.iis.net/download/URLRewrite
提示:虽然IIS7也可以使用以前在IIS6上那种老的方法来配置伪静态,但是我们不使用,因为那样的话就体现不出IIS7的优势了。
二、在web.config中配置伪静态规则
注意要点
1.参数用“()”括起来,使用{R:1}来获得参数
2.多个参数中间用&分割
3.name切记不能写一样
<?xmlversion="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<!--301重定向把不带3W的域名定向到带3W-->
<rulename="Redirect"stopProcessing="true">
<matchurl=".*"/>
<conditions>
<addinput="{HTTP_HOST}"pattern="^jb51.net$"/>
</conditions>
<actiontype="Redirect"url="https://www.nhooo.com/{R:0}"redirectType="Permanent"/>
</rule>
<!--首页-->
<rulename="rD">
<matchurl="^$"/>
<actiontype="Rewrite"url="Default.aspx"/>
</rule>
<!--产品列表-->
<rulename="rP">
<matchurl="^product/$"/>
<actiontype="Rewrite"url="ProductList.aspx"/>
</rule>
<!--产品列表第几页-->
<rulename="rPL">
<matchurl="^product/list-([0-9]*).html$"/>
<actiontype="Rewrite"url="ProductList.aspx?page={R:1}"/>
</rule>
<!--产品类别列表-->
<rulename="rPT">
<matchurl="^product/([A-Za-z0-9-]*)/$"/>
<actiontype="Rewrite"url="ProductList.aspx?typeUrl={R:1}"/>
</rule>
<!--产品类别列表第几页-->
<rulename="rPTL2">
<matchurl="^product/([A-Za-z0-9-]*)/list-([0-9]*).html$"/>
<actiontype="Rewrite"url="ProductList.aspx?typeUrl={R:1}&page={R:2}"/>
</rule>
<!--产品详细-->
<rulename="rPd">
<matchurl="^product/([A-Za-z0-9-]*)/([A-Za-z0-9-]+).html$"/>
<actiontype="Rewrite"url="ProductDetail.aspx?typeUrl={R:1}&url={R:2}"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>