создал новый веб-сайт IIS7 с пулом приложений Intergrated .net 4.0.
URL-адреса, заканчивающиеся на .aspx, действительно показывают пользовательские 404, все остальное дает синюю страницу ошибки сервера "Ошибка HTTP 404.0 - Не найденоищется, был удален, изменилось его имя или временно недоступно. "(поэтому ничего общего с IE)
<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>
также пытался
<httpErrors existingResponse="PassThrough" />
, но это просто привело к пустому ответу.
Я нашел только одну ссылку наполезность выполнения appcmd для проверки пользовательской обработки ошибок http, но вот результаты.
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>
, что странно, потому что в менеджере iis7 страницы ошибок показывают
404 /pages/404.aspx Execute URL Local
.NetСтраницы ошибок ничего не показывает, хотя у меня там была запись.
Вопрос 1: какие шаги мне нужно предпринять, чтобы совершенно новый сайт asp .net 4 iis7 имел настраиваемую страницу ошибок .net для каждогоРезультат 404?
Вопрос 2: почему обработчик .net работает для файлов .aspx и ничего больше?
примечание: установите 404 на уровне сервера, и команда appcmd отобразит пользовательский 404в пути, но не имеет значения, что на сайте не отображается 404.
Так что я предполагаю, что это красная сельдь.