bob_smith
@bob_smith

Как написать универсальное правило редиректа с www.subdomain.site.com на subdomain.site.com с помощью IIS Url Rewrite?

Есть сайт в IIS, к которому привязано множество (около 60-ти) поддоменов:
sub1.site.com, sub2.site.com, ..., cubN.site.com
В коде сайта по имени поддомена определяется, какую страницу показать (региональные версии одного сайта).

Необходимо настроить редиректы при обращении по адресам, начинающимся с www. Например с www.sub1.site.com надо редиректить на sub1.site.com и так для всех поддоменов.
в данный момент это реализуется кучей rule для URL Rewrite, наподобие такого:
<rule name="sub1" patternSyntax="ECMAScript" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^www.sub1.site.com$" />
          </conditions>
          <action type="Redirect" url="http://sub1.site.com/{R:0}" />
        </rule>


Есть ли возможность настроить аналогичное поведение одним правилом?
  • Вопрос задан
  • 290 просмотров
Решения вопроса 1
Редирект с www на non-www
<rewrite>
  <rules>
    <rule name="Canonical" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www[.](.+)" />
      </conditions>
      <action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

Редирект с non-www на www
<rewrite>
  <rules>
    <rule name="Canonical" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^([a-z]+[.]com)$" />
      </conditions>
      <action type="Redirect" url="http://www.{C:0}/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
, com - заменить на свою зону
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы