URL 重写问题

URL 重写问题

我是这方面的新手,需要一些帮助来创建重写规则http://dev.test1.com/sub1http://dev.test2.com/sub1如下所示。

<rule name="Route the requests for sub1" stopProcessing="true"> 
<match url="^dev\.(.+)/sub1/(.*)" />
<conditions logicalGrouping="MatchAll">
  <add input="{HTTP_HOST}" pattern="^dev\.(.+)/sub1/(.+)$" /> 
</conditions> 
<action type="Rewrite" url="http://dev.test2.com/sub1/{C:2}" appendQueryString="true" logRewrittenUrl="true" /> 
<serverVariables>
 <set name="HTTP_ACCEPT_ENCODING" value="" /> 
</serverVariables> 
</rule>

当我尝试在反向代理上实现此功能时,我并不想将其设置为重定向。

希望您能帮助我并找出我做错的地方。

谢谢。

答案1

您无需将域名放在 URL 部分;只需放置路径部分。您需要类似以下内容的内容:

<rule name="Route the requests for sub1" stopProcessing="true">
    <match url="^sub1/(.*)$" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^dev.test1.com" />
    </conditions>
    <action type="Rewrite" url="http://dev.test2.com/sub1/{R:1}" />
</rule>

(以上规则尚未测试,您的里程可能会有所不同)

相关内容