0

我在 Windows 2012/IIS8 上运行 ColdFusion 11,并尝试使用出站规则在 IIS 中设置 URL 写入,以允许在 URL 匹配某个正则表达式时添加服务器变量:

<outboundRules>
    <rule name="Add header for .ext files" patternSyntax="Wildcard">
        <match serverVariable="RESPONSE_The_Url" pattern="*" />
        <conditions>
            <add input="{REQUEST_URI}" pattern="\.ext$" negate="true" />
        </conditions>
        <action type="Rewrite" value="{REQUEST_URI}" />
    </rule>
</outboundRules>

该规则始终与(否定)条件匹配,并添加了值为“/jakarta/isapi_redirect.dll”的标头我尝试了许多其他服务器变量,但找不到一个输出路径的变量/jakarta/isapi_redirect.dll。

我相信这与 IIS 和 ColdFusion 连接器之间的交互有关,但找不到有关如何解决此问题的任何建议。有没有办法可以正确获取与此规则中的请求相关的 URL,或者我可以通过其他方式仅在某些情况下添加响应标头?

4

1 回答 1

3

我能够解决这个问题的唯一方法是创建一个入站规则,将原始{REQUEST_URI}值保存到一个名为HTTP_X_ORIGINAL_URL. 本指南展示了如何执行此操作。

注意:如果您遵循指南并命名自定义服务器变量ORIGINAL_URL,则它在您的出站规则中将为空白。我猜 jakarta ISAPI 过滤器只会转发以HTTP_X.

于 2017-04-29T14:32:20.030 回答