Как получить дружественную страницу с ошибкой, чтобы заменить страницу с ошибкой asp.net для URL "WEB-INF./web.xml"?
Этот URL-адрес является частью проверки соответствия pci и помечает очень редкую возвращенную страницу ошибки asp.net, которая на действующем сайте представляет собой код состояния 500 и текст
Ошибка сервера в приложении '/'
Ошибка выполнения
Описание: исключение произошло при обработке вашего запроса. Кроме того, произошло другое исключение при выполнении пользовательской страницы ошибок для первого исключения. Запрос был прекращен.
При запуске сайта в визуальной студии я, однако, получаю 404 и текст
Ошибка сервера в приложении '/'
Этот ресурс не может быть найден.
Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.
Запрашиваемый URL: /WEB-INF./web.xml
Информация о версии: Microsoft .NET Framework Версия:4.0.30319; ASP.NET версия:4.0.30319.18044
Я пытался игнорировать этот URL в маршрутизации и сопоставить его с нашим 404 маршрутом /error/not-found
, у нас есть пользовательские ошибки с перенаправлением по умолчанию на /error/internal
, Я также пытался использовать тег местоположения, чтобы запретить доступ, блокировать его с помощью фильтрации запросов и использовать обработчик с этим путем для перехвата запроса.
Я попытался это переписать, также пробовал те же правила блокировки и перенаправления, но я все еще получаю ту же страницу ошибки asp.net. Изображение обрезано, но правило таково ^.*\./.*$
и это соответствует URL, который я пытаюсь отфильтровать (я также пытался просто WEB-INF
).
Любая идея, как я могу получить этот URL, чтобы показать нашу пользовательскую страницу ошибки?
2 ответа
Добавление relaxedUrlToFileSystemMapping="true"
на узле httpRuntime в web.config этот URL обрабатывался ASP.Net MVC, как и ожидалось.
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true" />
</system.web>
Вы можете использовать библиотеку переписывающего устройства Managed Fusion, расположенную здесь, она работает аналогично перенаправлению через конфигурацию Apache: http://managedfusion.com/products/url-rewriter/
Документация о том, как ее использовать, находится здесь: http://managedfusion.com/products/url-rewriter/documentation.aspx