将IIS重写规则转换为Apache

将IIS重写规则转换为Apache,apache,mod-rewrite,iis,url-rewriting,proxy,Apache,Mod Rewrite,Iis,Url Rewriting,Proxy,因此,我无法将IIS中的重写规则转换为Apache。在IIS中工作得很好,但在apache中根本不工作 原始IIS重写规则: <rule enabled="true" stopProcessing="true" name="Route API calls to test server”>  <match url="(api/.*)" />  <action type="Rewrite" url="http://api.testdomain.com/{R:1}"

因此,我无法将IIS中的重写规则转换为Apache。在IIS中工作得很好,但在apache中根本不工作

原始IIS重写规则:

<rule
 enabled="true"
 stopProcessing="true"
 name="Route API calls to test server”>
 <match url="(api/.*)" />
 <action type="Rewrite" url="http://api.testdomain.com/{R:1}" />
</rule>
    <rule
    enabled="true"
    stopProcessing="true"
    name="Route API calls to test server”>
    <match url="(api/.*)" />
    <action type="Rewrite" url="http://api.testdomain.com/{R:1}" />
    </rule>

看起来我没有尊重原始规则中的原始pod,该规则在请求中包含“/api”。下面修改的规则现在起作用了(虽然我已经硬编码了路径的'/api'部分,但结果相同)

原始IIS重写规则:

<rule
 enabled="true"
 stopProcessing="true"
 name="Route API calls to test server”>
 <match url="(api/.*)" />
 <action type="Rewrite" url="http://api.testdomain.com/{R:1}" />
</rule>
    <rule
    enabled="true"
    stopProcessing="true"
    name="Route API calls to test server”>
    <match url="(api/.*)" />
    <action type="Rewrite" url="http://api.testdomain.com/{R:1}" />
    </rule>

看起来我没有尊重原始规则中的原始pod,该规则在请求中包含“/api”。下面修改的规则现在起作用了(虽然我已经硬编码了路径的'/api'部分,但结果相同)

原始IIS重写规则:

<rule
 enabled="true"
 stopProcessing="true"
 name="Route API calls to test server”>
 <match url="(api/.*)" />
 <action type="Rewrite" url="http://api.testdomain.com/{R:1}" />
</rule>
    <rule
    enabled="true"
    stopProcessing="true"
    name="Route API calls to test server”>
    <match url="(api/.*)" />
    <action type="Rewrite" url="http://api.testdomain.com/{R:1}" />
    </rule>

您正在尝试代理此请求,或者只是重定向/重写到新的url?代理。我想我已经弄明白了。回答如下。您正在尝试代理此请求,或者只是重定向/重写到新的url?代理。我想我已经弄明白了。回答如下。