Verhindern, dass IIS 7.5 Anzeige der Standard-Fehler-Seiten über das web.config
Ich versuche, um eigene Fehler-Seiten auf meine web-Anwendung. Bisher habe ich dieses auf meiner Website.config-Datei unter dem element:
<customErrors mode="On" >
<error statusCode="404" redirect="~/404.aspx"/>
<error statusCode="500" redirect="~/500.aspx"/>
</customErrors>
Dies funktioniert gut für Fehler .NET berührt, zum Beispiel eine url enthält .aspx-Erweiterung. Aber ich will auch benutzerdefinierte Fehler die Anzeige für einen url wie beispielsweise den folgenden www.example.com/dasda
Derzeit, wenn ich eine Seite wie die oben IIS 7.5 zeigt seine eigene Fehlermeldung. Ich habe dieses unter-element:
<httpErrors >
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="~/404.aspx" responseMode="ExecuteURL" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" path="~/500.aspx" responseMode="ExecuteURL" />
</httpErrors>
Dachte ich, dass das IIS-display eine benutzerdefinierte Fehlerseite statt der default, aber dies scheint nicht der Fall zu sein.
Ich bin mir bewusst, dass ich einen benutzerdefinierten Fehler-Seite in IIS selbst, sondern eine ideale Lösung für meine situation wäre das konfigurierbar im web.config.
Habe ich versucht, indem diese in meine benutzerdefinierte Fehlerseiten auf die Page_Load-Ereignis wie vorgeschlagen hier :
Response.TrySkipIisCustomErrors = true;
Aber es hörte nicht auf die Standard-IIS-Seite zu zeigen, statt meine benutzerdefinierte Fehlerseite. Ich habe auch versucht, was vorgeschlagen wird,hier:
<httpErrors >
<remove statusCode="404" subStatusCode='-1' />
<error statusCode="404" path="~/404.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
<remove statusCode="500" subStatusCode='-1' />
<error statusCode="500" path="~/500.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
</httpErrors>
Aber das hat auch nicht geklappt.
Also gibt es eine Möglichkeit zu verhindern, dass IIS die Anzeige der Standard-Fehler-Seiten durch die Konfiguration von Einstellungen in der web.config-Datei?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem ich habe die Begegnung war, dass standardmäßig ein Attribut errorMode mit den folgenden Optionen: DetailedLocalOnly, Benutzerdefinierte oder Detaillierte.
Wenn die errorMode Attribut undefiniert als ich dabei war, dann ist die Grundeinstellung DetailedLocalOnly (ref). Das bedeutet, ich würde nicht gesehen haben, die benutzerdefinierte Fehlermeldung, die angezeigt wurde.
Den Konfigurations-Einstellungen, die gearbeitet wurden:
Den errorMode="Custom" ist praktisch zum testen des benutzerdefinierten Seiten ordnungsgemäß funktionieren, aber ist wohl eher praktisch, wenn die Links weggelassen oder ausdrücklich gesetzt zu errorMode="DetailedLocalOnly" für debugging-Zwecke.
Ich glaube, Sie brauchen, um zu erzwingen, IIS verwenden Sie die CustomErrorModule für jede Ressource, die vom Benutzer angefordert wird.
Versuchen Sie, fügen Sie die unten, um Ihre web-config
Haben auch einen Blick auf den folgenden link
https://serverfault.com/questions/53712/in-iis-7-how-do-i-set-up-a-default-error-document-for-any-error