IIS Redirect на новый URL - PullRequest
       23

IIS Redirect на новый URL

0 голосов
/ 24 марта 2020

Я пытаюсь перенаправить пользователей моего Angular 7 веб-сайта со старого URL-адреса на новый URL-адрес, как показано ниже:

https://www.example.com/v1/page/NjUxMzExNC83MzQx

на

https://www.example.com/v2/page/NjUxMzExNC83MzQx

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

Я попробовал приведенные ниже настройки web.config в версии "v1", чтобы передать пользователей в "v2", но это не работает

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="./index.html" />
      </rule>
    </rules>
  </rewrite>
  <httpRedirect enabled="false" destination="v2/" exactDestination="false" />
</system.webServer>

1 Ответ

1 голос
/ 25 марта 2020

Пожалуйста, попробуйте это правило.

Если вам нужно перенаправить v1 на v2, пожалуйста, выберите type = "redirect" вместо перезаписи.

  <rule name="redirect rule" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{URL}" pattern="^/v1(/page/[a-zA-Z0-9]+)$" />
                    </conditions>
                    <action type="Redirect" url="v2{C:1}" redirectType="Temporary" />
                </rule>

enter image description here

Редактировать:

   <rule name="redirect rule" enabled="true" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{URL}" pattern="^/v1(/page/[a-zA-Z0-9]+)$" />
                    </conditions>
                    <serverVariables />
                    <action type="Redirect" url="http://{HTTP_HOST}/v2{C:1}" redirectType="Temporary" />
                </rule>
...