Заголовки хоста IIS и не WWW в WWW - PullRequest
0 голосов
/ 09 декабря 2011

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

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

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

Чего мне не хватает на стороне менеджера сервера, чтобы заставить это работать?

1 Ответ

1 голос
/ 09 декабря 2011

Я думаю, есть два пути. Одним из них является создание правила перезаписи через диспетчер 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>
...