URL перезаписи iis для https://example.com/default.aspx/default.aspx до https://example.com - PullRequest
0 голосов
/ 30 апреля 2020

Я перепробовал все виды URL для перезаписи, и IIS не может отправить URL-адрес https://example.com/default.aspx/default.aspx на https://example.com/default.aspx

Google проиндексировал сайт с неправильным URL, когда Bing понял это правильно (go рисунок). Любая помощь приветствуется. Весь мой трафик c идет по неверному URL (https://example.com/default.aspx/default.aspx).

<rewrite>
  <rules>
    <rule name="Redirect www.xxx.com to xxx.com" patternSyntax="ECMAScript" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^https://example.com/default.aspx/default.aspx" />
      </conditions>
      <action type="Redirect" url="default.aspx" />
    </rule>

    <rule name="redirect two character to default" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{URL}" pattern="^/[a-z]{2}(/)?$" />
      </conditions>
      <action type="Redirect" url="default.aspx" appendQueryString="false" />
    </rule>
  </rules>
</rewrite>

1 Ответ

1 голос
/ 01 мая 2020

В вашем правиле есть проблема. {HTTP_HOST} соответствует только имени хоста, которое www.example.com, оно не будет соответствовать целому URL.

enter image description here

Вы можете попробовать выполнить следующее правило:

<rule name="Redirect www.xxx.com to xxx.com" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
  <match url=".*" />
  <conditions>
                    <add input="{HTTP_HOST}" pattern="www.example.com" />
                    <add input="{HTTPS}" pattern="on" />
                    <add input="{REQUEST_URI}" pattern="default/default|default.aspx/default.aspx" />
  </conditions>
  <action type="Redirect" url="default.aspx" />
</rule>

enter image description here

...