IIS URL Rewrite удалить часть пути - PullRequest
0 голосов
/ 17 декабря 2018

После изучения переписывания URL-адресов и просмотра множества сообщений я все еще не понимаю, почему моя перезапись URL-адресов не работает.Я пытаюсь удалить /carrot/ из пути.

Пример: https://my.server.com/carrot/mobile/path

должно стать: https://my.server.com/mobile/path

Мое правило перезаписи URL довольно простое и выглядитследующим образом:

    <rule name="RemoveCarrotFromPath">
      <match url=".*carrot(.*)" />
      <action type="Rewrite" url="{R:1}" />
    </rule>

Вся помощь приветствуется.

Редактировать Ниже вы можете найти все используемые правила на случай, если возникают проблемы, когда сталкиваются различные правила:

<rewrite>
  <rules>
    <rule name="redirectPayment" stopProcessing="true">
      <match url="/payment" />
      <action type="Redirect" url="https://my.app.com/carrot/Payment" />
    </rule>
    <rule name="redirectMembership" stopProcessing="true">
      <match url="/membership" />
      <action type="Redirect" url="https://my.app.com/carrot/Membership" />
    </rule>
    <rule name="RemoveCarrotFromPath">
      <match url=".*carrot(.*)" />
      <action type="Rewrite" url="{R:1}" />
    </rule>
  </rules>
</rewrite>

1 Ответ

0 голосов
/ 18 декабря 2018

Решением моей проблемы было использование Redirect вместо Rewrite следующим образом:

<rule name="RemoveCarrotFromPath">
  <match url=".*carrot(.*)" />
  <action type="Redirect" url="{R:1}" />
</rule> 
...