首页 > 解决方案 > 使用 iis7 重写/重定向去除数字的前导零并转发

问题描述

我需要能够获取传入的 url,删除一些前导零,并将其转发/重定向到其他地方。这是在安装了 IIS7 和重写管理器的 Server 2008 64 位机器上。

传入链接:

http://myserver/?PatientID=000123456

并将其翻转到

http://myserver2/?PatientID=123456

标签: iis-7

解决方案


如下所示的 URL 重写规则将起作用。如果您希望“转发”请求而不是“重定向”请求,则还需要 ApplicationRequestRouting

<rewrite>
    <rules>
        <rule name="TrimZerosAndRedirect" enabled="true" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{QUERY_STRING}" pattern="PatientID=0*(\d+)" />
            </conditions>
            <action type="Redirect" url="http://www.google.com/?PatientID={C:1}" appendQueryString="false" redirectType="Temporary" />
        </rule>
    </rules>
</rewrite>

另外,我必须说:您的操作系统不受支持,运行这样的过时操作系统存在重大安全问题。请敦促业主考虑升级此盒子。


推荐阅读