Я пытаюсь установить пользовательскую страницу ошибки 404 для своего веб-приложения. Проблема в том, что это приложение будет развернуто в различных средах. Иногда он будет в виртуальном каталоге, а иногда - нет.
У меня есть страница с ошибкой в каталоге ErrorPages, и я настроил мою конфигурацию так:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404"/>
<error statusCode="404" path="/VirtualDir/ErrorPages/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
Проблема в том, что когда я развертываю это в корне веб-сайта, часть /VirtualDir
должна быть удалена. Если я удаляю его перед развертыванием, мне нужно добавить его обратно при развертывании в виртуальном каталоге. Можно ли как-нибудь установить путь к относительно виртуального каталога , а не к сайту?
Я пытался использовать ~
, но это тоже не работает, например:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404"/>
<error statusCode="404" path="~/ErrorPages/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>