Заголовки хоста IIS и не из WWW в WWW

Я знаю, что есть множество примеров того, как перенаправить ваш не www на ваш www сайт, но я не использую утилиты для перезаписи / ISAPI.

На моем компьютере с Windows 2008R2 я установил несколько сайтов в IIS. Я настраиваю заголовки хоста как для версий с www, так и без www. Первая пара сайтов работает нормально. Если вы попытаетесь перейти на сайт без www, вы автоматически будете перенаправлены на версию с www.

Насколько я помню, мне не пришлось делать ничего особенного, кроме добавления соответствующих заголовков хоста - не возиться с перезаписью / ISAPI.

Что мне не хватает на стороне диспетчера серверов, чтобы это работало?


person ElHaix    schedule 09.12.2011    source источник


Ответы (1)


Думаю, есть два пути. Один из них - создать правило перезаписи через диспетчер IIS.

Другой - настроить раздел system.webserver файла web.config следующим образом:

  <system.webServer>

    <rewrite>
      <rules>
        <clear/>
        <rule name="Redirect Non WWW to WWW" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9]+)$" />
          </conditions>
          <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent" />
        </rule>

        <!--<rule name="Default Document" stopProcessing="false">
          <match url="(.*)default.aspx"/>
          <action type="Redirect" url="{R:1}" redirectType="Permanent"/>
        </rule>-->

      </rules>
    </rewrite>

    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>

    <httpErrors errorMode="Custom"/>

  </system.webServer>
person ElHaix    schedule 09.12.2011
comment
Спасибо, вот чего мне не хватало. Я забыл об этом добавить. - person ElHaix; 27.12.2011