IIS7.5 小写 URL 出站规则

IIS7.5 小写 URL 出站规则

我知道如何将传入请求的 URL 大小写规范化到 IIS7.5,事实上,有一个内置的规则模板可以作为起点。但是对于出站请求怎么办(无需更改代码)?

这是我目前所处的位置:

    <outboundRules>
        <rule name="Outbound lowercase" preCondition="IsHTML" enabled="true">
            <match filterByTags="A" pattern="[A-Z]" ignoreCase="false" />
            <action type="Rewrite" value="{ToLower:{R:0}}" />
        </rule>
        <preConditions>
            <preCondition name="IsHTML">
                <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
            </preCondition>
        </preConditions>
    </outboundRules>

但是,IIS 操作失败,错误代码为 500,表示 web.config 无效,可能是 {ToLower:XXXX} ,这是我从 MS 提供的入站规则模板中偷来的。

有人知道怎么做吗?

有谁知道这些选项的完整文档在哪里(我的 GoogleNinja 技能让我失望了:我发现但“为规则指定值语法。此元素仅适用于重写操作类型”并不全面)。

谢谢,达米安

答案1

这条规则对我来说没有任何错误。唯一需要做的改变是模式。将其从“[AZ]”更改为“.*[AZ].*”,以便替换的值是整个字符串,而不仅仅是第一个大写字母。

至于您如何得到语法错误,您是否将出站规则包含在该部分中?并且,检查以确保您已安装 url rewrite 2.0。出站规则是在 v2.0 中添加的。

相关内容