IIS中使用URL重写工具进行rewrite的规则示例
web.config中system.webServer节点添加重写规则
<rewrite>
<rules>
重写规则
</rules>
</rewrite>
HTTP 重定向到 HTTPS
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
重定向到带www的域名
<rule name="www redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^baidu.com$" />
</conditions>
<action type="Redirect" url="http://www.baidu.com/{R:0}" redirectType="Permanent" />
</rule>
多个域名重定向
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^baidu.com|idc.baidu.com$" />
</conditions>
<action type="Redirect" url="http://www.baidu.com/{R:0}" redirectType="Permanent" />
</rule>
强制使用小写url
<rule name="LowerCase" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<action type="Redirect" url="{ToLower:{URL}}" />
</rule>
用户友好的url重写,如:index.aspx?t=show&id={id}重写到show_{id}.aspx
<rule name="show">
<match url="show_(\d+)((.aspx||.html)*)" ignoreCase="false" />
<action type="Rewrite" url="index.aspx?t=show&id={R:1}" appendQueryString="false" />
</rule>