Ошибка HTTP 404.7 - не найден Модуль фильтрации запросов настроен на отказ в расширении файла

Я пытаюсь настроить веб-страницу по умолчанию для веб-сайта IIS 7.5.

Фильтрация запросов включена. Однако .aspx-страницы разрешены, я установил default.aspx как страницу по умолчанию для веб-сайта.

Если я перейду на localhost/default.aspx, я получаю веб-страницу, как ожидалось.

ЕСЛИ я перейду на localhost/получаю

Ошибка HTTP 404.7 - не найдено Модуль фильтрации запросов настроен на отказ в расширении файла.

Любые идеи?

Ответ 1

Похоже, что фильтрация запросов фактически фильтрует для пустого имени файла. Поэтому вы должны добавить это в блок фильтрации запросов в файле web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <fileExtensions allowUnlisted="true">
          <remove fileExtension="." />
          <add fileExtension="." allowed="true" />
        </fileExtensions>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

Теперь это очевидно, но на самом деле я думаю, что это массивная добыча.


Дополнительная информация: IIS 7 Не обслуживает файлы - 404.7 Ошибка

Ответ 2

Вы можете решить эту проблему, добавив расширение файла в модуль фильтрации запросов IIS.

Ответ 3

Вы можете решить, добавив:

<requestFiltering>
    <fileExtensions allowUnlisted="true">
        <remove fileExtension="." />
        <add fileExtension="." allowed="true" />
    </fileExtensions>
</requestFiltering>

в файл Web.Config