Eine neue IIS7-Website mit integriertem .net 4.0-App-Pool erstellt.
Bei URLs, die mit .aspx enden, wird ein benutzerdefinierter 404-Fehler angezeigt, bei allen anderen wird die blaue Server-Fehlerseite angezeigt "HTTP-Fehler 404.0 - Nicht gefunden Die Ressource, nach der Sie suchen, wurde entfernt, ihr Name wurde geändert oder sie ist vorübergehend nicht verfügbar. (hat also nichts mit dem IE zu tun)
<customErrors redirectMode="ResponseRewrite" mode="On" defaultRedirect="/pages/404.aspx" />
</system.web>
<system.webServer>
<httpErrors >
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/pages/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
auch versucht
<httpErrors existingResponse="PassThrough" />
aber das führte nur zu einer leeren Antwort.
Ich habe nur einen Hinweis auf die Nützlichkeit der Ausführung des appcmd gefunden, um die benutzerdefinierte http-Fehlerbehandlung zu testen, aber hier sind die Ergebnisse.
C:\Windows\System32\inetsrv>appcmd list config "http://mysite/file.notexist" -section:httpErrors
<system.webServer>
<httpErrors>
<error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="401.htm" />
<error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="403.htm" />
<error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="404.htm" />
<error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="405.htm" />
<error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="406.htm" />
<error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="412.htm" />
<error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="500.htm" />
<error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="501.htm" />
<error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custer
r" path="502.htm" />
</httpErrors>
</system.webServer>
was seltsam ist, denn im iis7-Manager zeigen die Fehlerseiten
404 /pages/404.aspx Execute URL Local
.Net Error Pages zeigt nichts an, obwohl ich dort einen Eintrag hatte.
Frage 1: Welche Schritte muss ich für eine völlig neue asp .net 4 iis7 Website, um eine benutzerdefinierte .net-Fehlerseite für jedes 404-Ergebnis haben?
Frage 2: Warum funktioniert der .net-Handler für .aspx-Dateien und nicht für andere?
Hinweis: Die 404 auf Serverebene gesetzt und der appcmd-Befehl dann zeigte die benutzerdefinierte 404 in den Pfad, aber machte keinen Unterschied zu der Website nicht zu zeigen 404.
Ich vermute also, dass es sich um ein Ablenkungsmanöver handelt.