Почему IIS внезапно удаляет расширения веб-страниц? - PullRequest
0 голосов
/ 26 мая 2020

Сегодня утром я запустил в производство новый веб-сайт. Net (прошивка 4.6.1, ранее 4.5.1). IIS (я полагаю) удалил расширения со всех веб-страниц (ie. Index.aspx только что стал index). Эти веб-сайты работают уже более 8 лет с использованием перезаписи IIS. Похоже, что тогда IIS увидел веб-страницы "без расширений", перезапись была запущена и отправлена ​​в несуществующее место, создавая 404.

Я также сделал Windows обновление 3 дня go (с тех пор мог пропустить эту проблему, но маловероятно). Правило перезаписи в основном гласит: если вы не можете найти страницу, ищите ее в подкаталоге «Клиенты». Правило выглядит так:

    <rewrite>
        <rules>
            <rule name="Client Relocation" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" negate="false" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="Clients/{R:0}" />
            </rule>
        </rules>
    </rewrite>

Мне удалось обойти проблему, удалив правило перезаписи в подкаталоге:

  <rewrite>
      <rules>
          <remove name="Client Relocation" />
      </rules>
  </rewrite>

Итак, похоже, что расширение было удалено, тогда IIS получает страницу и думает, что ее не существует, поэтому правило перезаписи вступает в силу.

Итак, мой вопрос: кто / что удаляет расширение и как я могу остановить это?

1 Ответ

0 голосов
/ 27 мая 2020

Лекс Ли направил меня на верный путь своим комментарием о приложении и отслеживании неудачных запросов. Оказалось, что файл App_Start / RouteConfig.cs был изменен и добавлен:

        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings);

Не совсем уверен, как и почему, но, комментируя AutoRedirectMode, вернули расширения. Если бы я мог дать ответ на комментарий Лекса, я бы ответил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...