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

Мое требование заключается в необходимости перенаправить URL для конкретного домена. Так что я решил использовать карту перезаписи, но все, что я попробовал ниже, будет применяться ко всем доменам, которые у меня есть. Это не относится к конкретному домену.

Позвольте мне привести более глубокий пример. Предположим, у меня есть 3 домена на одном экземпляре IIS

  1. www.abc.com
  2. www.xyz.com
  3. www.eee.com

В домене www.abc.com URL-адрес www.abc.com / legal следует перенаправить на www.abc.com / privacy .

Как и выше, у меня есть множество перенаправлений, которые нужно реализовать для одного домена.

Ниже перечислены вещи, которые я пробовал

   <!--Test snippet 1-->

    <rewrite>
      <rules>
        <rule name="Redirect rule1 for Redirects" enabled="true" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern=".*www.abc.com.*" />
            <add input="{ABCRedirects:{REQUEST_URI}}" pattern="(.+)" />
          </conditions>
          <action type="Redirect" url="{C:1}" appendQueryString="false" /> 
        </rule>
      </rules>
      <rewriteMaps configSource="abc-rewritemaps.config" />
    </rewrite>

     <!--Test snippet 2-->
    <rewrite>
      <rules>
        <rule name="Redirect rule1 for Redirects" enabled="true" stopProcessing="true">
          <match url=".*www.abc.com.*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern=".*www.abc.com.*" />
            <add input="{ABCRedirects:{REQUEST_URI}}" pattern="(.+)" />
          </conditions>
          <action type="Redirect" url="{C:1}" appendQueryString="false" />
        </rule>
      </rules>
      <rewriteMaps configSource="abc-rewritemaps.config" />
    </rewrite>

     <!--Test snippet 3-->

    <rewrite>
      <rules>
        <rule name="Redirect rule1 for Redirects" enabled="true" stopProcessing="true">
          <match url=".*" />
          <conditions>            
            <add input="{ABCRedirects:{REQUEST_URI}}" pattern=".*www.abc.com.*" />
          </conditions>
          <action type="Redirect" url="{C:1}" appendQueryString="false" />
        </rule>
      </rules>
      <rewriteMaps configSource="abc-rewritemaps.config" />
    </rewrite>

    <!--My Rewrite map-->

    <rewriteMaps>
      <rewriteMap name="ABCRedirects">
        <add key="/legal" value="/privacy" />
        <add key="/good" value="/bad" />
        <add key="/hi" value="/bye" />
        <add key="/no" value="/not" />
        <add key="/123" value="/321" />
      </rewriteMap>
    </rewriteMaps>

Прежде всего, код, который я пробовал, применяется ко всему домену, я не могу ограничить его только для www.abc.com.

Как ограничить переписывание карт для конкретного домена?

...