URL重写500.52:无法识别的元素'serverVariables'

时间:2018-01-08 14:21:43

标签: iis-7 reverse-proxy url-rewrite-module

我只需要使用我的web.config来实现反向代理,而我遇到500.52错误的问题。正如在线许多地方所建议的,我添加了serverVariables部分以包含HTTP_ACCEPT_ENCODING变量,但是我遇到了一个错误:

配置错误无法识别的元素'serverVariables'

以下是我的web.config。

<rewrite>
      <allowedServerVariables>
        <add name="HTTP_ACCEPT_ENCODING" />
    </allowedServerVariables>
      <outboundRules>
        <rule name="reverseProxy">
          <match pattern="http://linkInCode.com"></match>
          <serverVariables>
            <set name="HTTP_ACCEPT_ENCODING" value="" />
          </serverVariables>
          <action type="Rewrite" value="https://linkIWant.com/script.js"></action>
        </rule>
      </outboundRules>
    </rewrite>

有什么问题? ServerVariables应该是一个公认的元素。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

使用this blog post,我复制了给出的示例,并根据我的需要更改了部分。

<rewrite>
    <rules>
        <rule name="Rewrite to article.aspx">
            <match url="^article/([0-9]+)/([_0-9a-z-]+)" />
            <action type="Rewrite" url="https://URLtoHide.com" />
        </rule>
</rules>
<outboundRules>
    <rule name="Rewrite to clean URL" preCondition="IsHTML">
        <match filterByTags="A" pattern="http://http://URLtoShow.com" />
        <action type="Rewrite" value="https://URLtoHide.com" />
    </rule>
    <preConditions>
        <preCondition name="IsHTML">
            <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
        </preCondition>
    </preConditions>
</outboundRules>