我正在尝试编写一个入站重写规则,该规则基本上捕获对根文件夹/ api / *的所有请求,并将其重写为api.v2.movideo.com,尊重HTTP与HTTPS流量。
我按照这里的分步说明进行操作:http://code.movideo.com/Setting_up_IIS7_to_use_URL_Rewrite_2.0_for_Cross-Domain_XMLHttpRequest_Calls
我安装了应用程序请求路由http://www.iis.net/expand/URLRewrite 按照该页面上的所有步骤,删除了指示的标题,按照本书完成了所有操作,但我得到的只是:
HTTP Error 500.50 - URL Rewrite Module Error.
您正在寻找的资源存在问题,因此无法显示。
当我将规则从REWRITE更改为REDIRECT时,它工作正常,但它重定向,而不是重写!啊。这是怎么回事?
这是我的规则:
<rule name="ReverseProxyInboundRule1" stopProcessing="false">
<match url="^api/(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://api.movideo.com/{R:1}" />
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables>
</rule>
(第二个问题:安装应用程序请求路由时是否有任何问题或事情?它在我的IIS中添加了一个新的“服务器场”部分,嗯......我不知道这是什么。)< / p>
答案 0 :(得分:0)
由于您使用的是 serverVariables 节点,因此必须将服务器变量添加到服务器的allowedServerVariables集合中。您可以使用IIS UI(详情请参阅Setting HTTP request headers and IIS server variables)或从命令行执行此操作:
%windir%\ System32 \ inetsrv \ appcmd.exe set config -section:system.webServer / rewrite / allowedServerVariables / +“[name ='boo']”/ commit:apphost