Проблема с перезаписью URL на IIS 7.5 - PullRequest
0 голосов
/ 05 августа 2011

Я пытаюсь использовать модуль перезаписи URL для IIS 7.5, чтобы перенаправить все HTTP-запросы в HTTPS для моего веб-сайта ASP.NET. В данный момент сайт работает нормально, но вынуждает пользователя вводить https: // в адресную строку.

Я следовал инструкциям в этой статье . Все кажется нормальным: я попытался поместить правило в web.config, и оно отображается в пользовательском интерфейсе, как должно; Я также сделал обратное и вижу изменения в файле web.config, когда использую пользовательский интерфейс для добавления правила. У меня RequireSSL отключен для сайта. К сожалению, я все еще просто получаю 404, когда пытаюсь попасть на сайт через http: //.

Я пробовал несколько разных URL действий, включая {HTTP_HOST} / {R: 1} и тот, который показан ниже ... ничего не работает.

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect to https" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}"
         redirectType="SeeOther" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

Я довольно новичок в этом и довольно разочарован в этот момент. Похоже, это должно быть намного проще. Любой совет будет оценен, спасибо ..

Репост от ServerFault, поскольку он некоторое время оставался без ответа.

1 Ответ

2 голосов
/ 06 августа 2011

Ошибка HTTP 404. Запрашиваемый ресурс не найден

У вас действительно есть привязка для порта HTTP 80? Похоже, у вас его нет (только HTTPS).

Причина, по которой я спрашиваю, заключается в том, что цитируемый текст является точным сообщением , которое я мог бы увидеть, если бы я запросил неизвестный домен IIS (если не определено все общее) или домен не привязан запрашиваемый порт.

...