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 :
Funktioniert es wie es soll. Aber wenn der Benutzer eingibt:
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!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, dass die Anwendung ausgeführt wird in der klassischen pipeline-Modus. Ändern Sie es, die integrierte und dein problem wird behoben sein. Hier ist ein Artikel über das pipeline-Modi und Ihre Unterschiede - http://learn.iis.net/page.aspx/508/wildcard-script-mapping-and-iis-7-integrated-pipeline/
Folgende codes funktioniert mit beiden .aspx-Dateien und andere Dateitypen:
Global.asax
Web.config
Für classic asp Sie können diese
verwenden Sie den code in deine config und geben den vollständigen Pfad der error-Seite