wake-up-neo.com

HTTP-Fehler 404.7 - Nicht gefunden Das Anforderungsfilterungsmodul ist so konfiguriert, dass die Dateierweiterung abgelehnt wird

Ich versuche, die Standardwebseite für eine IIS 7.5-Website zu konfigurieren.

Die Anforderungsfilterung ist aktiviert. Obwohl .aspx-Seiten zulässig sind, habe ich default.aspx als Standardseite für die Website festgelegt.

Wenn ich zu localhost/default.aspx gehe, bekomme ich wie erwartet eine Webseite.

WENN ich zu localhost browse/bekomme ich 

HTTP-Fehler 404.7 - Nicht gefunden Das Anforderungsfilterungsmodul ist so konfiguriert, dass die Dateierweiterung abgelehnt wird.

Irgendwelche Ideen?

15
mattbloke

Anscheinend filtert die Anforderungsfilterung tatsächlich nach einem leeren Dateinamen. Daher müssen Sie dies dem Anforderungsfilterungsblock in der web.config hinzufügen:

<?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>

Es ist jetzt offensichtlich, aber ich glaube wirklich, dass es eine massive Gotcha ist.


Weitere Informationen: IIS 7 Keine Dateien - 404.7 Fehler

19
mattbloke

Sie können das Problem beheben, indem Sie Folgendes hinzufügen:

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

in Ihre Web.Config-Datei

1
user8593314

Stellen Sie sicher, dass Sie alle PostBackURL = "MyPage.aspx" von der Schaltfläche auf der Seite entfernen. Meine Vermutung ist, dass IIS denkt, wenn das Postbackurl enthalten ist, dass es die Seite als Datei erhält. Der ASPX-Dateityp wird standardmäßig zurückgewiesen. Sie können dies in dem Seitenfehler sehen. 

Schlecht: Erzeugt eine 404.7 (Beachten Sie die PostBackURL)

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

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

Gut: Kein Fehler

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

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

Sie können dieses Problem beheben, indem Sie die Dateierweiterung dem Anforderungsfilterungsmodul von IIS hinzufügen.

0
aditya