IIS überschreiben benutzerdefinierte 404-Fehler-Seite in ASP.NET

Ich versuche zu erstellen, die eine 404-Fehler-Seite und die habe ich gerade alle der folgenden/versucht, alle der folgenden, um zu versuchen und erreichen. Wenn der Benutzer eingibt :

http://name/something.aspx

Funktioniert es wie es soll. Aber wenn der Benutzer eingibt:

http://name/NotAFile

ohne .aspx dann IIS7 nimmt die Dinge in seine eigenen Hände, und ich bekomme schöne Fehlerseite, IIS7 kommt mit. Das Ziel ist, dass die site-Umleitungen mit nur einem 404-status-code (also nicht 200, oder eine 302-Weiterleitung). Ich habe versucht sowohl in der web-config mit:

<customErrors mode="On" defaultRedirect="~/error/Default.aspx redirectMode="ResponseRewrite">
     <error statusCode="404" redirect="~/error/NotFound.aspx" />
</customErrors>

Dies funktioniert für die url mit ein .aspx Datei-Erweiterung aber nicht für eine Verlängerung. Gleiche mit diesem Ansatz in der globalen.asax

void Application_Error(object sender, EventArgs e)
{
    var serverError = Server.GetLastError() as HttpException;

    if (serverError != null)
    {
        if (serverError.GetHttpCode() == 404)
        {
            Server.ClearError();
            Server.Transfer("~/error/NotFound.aspx");
        }

        Server.Transfer("~/error/Default.aspx");
    }
}

Die gleichen Ergebnisse sind vorhanden 🙁 Mein letzter Versuch war es, in der web-config:

<system.webServer>
    <httpErrors existingResponse="PassThrough" />
</system.webServer>

Mit dieser bekomme ich nur einen weißen Bildschirm mit nichts drauf...
Irgendwelche Gedanken oder Kommentare würde sehr geschätzt werden!! Vielen Dank im Voraus!

InformationsquelleAutor Matt | 2011-02-18
Schreibe einen Kommentar