Я бы хотел использовать error.html для любых ошибок, с которыми может столкнуться IIS.
Если я укажу следующий блок в своем webconfig, сайт откажется запускаться.
<httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace" defaultPath="/error.html" defaultResponseMode="ExecuteURL">
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="401" subStatusCode="-1" />
<error statusCode="401" prefixLanguageFilePath="" path="/401.html" responseMode="ExecuteURL" />
<error statusCode="403" prefixLanguageFilePath="" path="/403.html" responseMode="ExecuteURL" />
<error statusCode="404" prefixLanguageFilePath="" path="/404.html" responseMode="ExecuteURL" />
<error statusCode="500" prefixLanguageFilePath="" path="/500.html" responseMode="ExecuteURL" />
</httpErrors>
Обратите внимание на атрибут defaultPath = "/ error.html" в корневом элементе.
Я получаю следующую ошибку
HTTP-Fehler 500.19 - внутренняя ошибка сервера
...
Konfigurationsfehler: Sperrverletzung
...
Отредактируйте% windir% \ system32 \ inetsrv \ config \ applicationHost.config
Установите линию:
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
Кому:
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated">
Попробуйте использовать диспетчер IIS 7, чтобы установить это правильно. Кроме того, вы могли бы сделать это:
<system.web>
<customErrors mode="On" defaultRedirect="~/error.html">
</customErrors>
</system.web>
В дополнение к ответу Фабиана вы также можете найти этот файл в:
папка решения -> .vs (обычно эта папка скрыта) -> config