Назад | Перейти на главную страницу

Проблема с перезаписью URL

Я новичок в этом, и мне нужна помощь в создании правила для перезаписи http://dev.test1.com/sub1 к http://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>

Я действительно не хочу настраивать его как перенаправление, поскольку я пытаюсь реализовать это на своем обратном прокси.

Надеюсь, вы поможете мне разобраться, что я делаю не так.

Спасибо.

Вы не помещаете домен в часть 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>

(приведенное выше правило не проверено, ваш пробег может отличаться)