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

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

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

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

Если я перейду к localhost / я получу

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

какие идеи?

4 ответов


похоже, что фильтрация запросов на самом деле фильтрует пустое имя файла. Поэтому вы должны добавить это в блок фильтрации запросов в интернете.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 ошибка


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


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

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

к вашей паутине.Файл config


обязательно удалите все PostBackURL= " MyPage.aspx" от кнопки на странице. Я предполагаю, что когда postbackurl включен, IIS думает, что получает страницу как файл. Он отвергает .тип файла aspx по умолчанию. Вы можете увидеть это в ошибке страницы.

Bad: создает 404.7 (обратите внимание на PostBackURL)

<asp:FileUpload runat="server"  ID="uplReplaceFile" ToolTip="Update this file" />

 <asp:Button runat="server" PostBackUrl="MyPage.ascx"  ID="bnHiddenFileUploadListener" OnClick="bnHiddenFileUploadListener_OnClick" />

хорошо: без ошибок

<asp:FileUpload runat="server"  ID="uplReplaceFile" ToolTip="Update this file" />

 <asp:Button runat="server" ID="bnHiddenFileUploadListener" OnClick="bnHiddenFileUploadListener_OnClick" />