Это связано с вашей конфигурацией и версией IIS, на которой работает ваш хост.В версиях IIS до 7 или, если вы используете IIS 7 с «классическим конвейером», на самом деле есть два канала, по которым ходят запросы http.Один обрабатывает запросы .net через ASP.net, а другой - в IIS.(т. е. ASPX идет на asp.net, а .jpg - на IIS)
В вашем случае несуществующие страницы идут на IIS, указанные вами конфиги asp.net не применяются.Могу поспорить, если вы введете www. [Domain] .com / doesntexist.jpg, он не перейдет на вашу пользовательскую страницу, но если вы введете www. [Domain] .com / doesntexist.aspx, то это будет.
SpЕсть несколько решений, основанных на том, какая версия IIS у вас есть.Если ваш хост использует IIS7, вы можете запустить сайт с помощью Integrated Pipeline , что означает, что все запросы проходят через ASP.net и конфигурация будет применяться. Вот дополнительная информация.
Если вы не используете IIS, это можно исправить только с помощью , указав пользовательские коды ошибок в самом IIS .Если это так, то, надеюсь, ваш хост разрешит это.
Еще одна возможность для IIS6 - создание пользовательских обработчиков для страниц и файлов, отличных от .net, и принудительная их маршрутизация на asp.net, затемВаша конфигурация будет применяться.Однако это нежелательно, поскольку это может стать кошмаром обслуживания и дополнительным кодом / конфигурацией.
Связанные вопросы SO:
Переопределенная страница IIS с ошибкой 404 в ASP.NET
Как заставить пользовательские страницы ошибок работать для Classic ASP с интегрированным конвейером IIS 7
Сайт не перенаправляется на документ по умолчанию в режиме классического конвейера