Перенаправление прекращает текущий контекст. Вы не можете перехватить перенаправление, а затем выбрать перенаправление на другой URL-адрес, поскольку он уже перенаправлен. Это разработано и имеет смысл.
Существует способ перехвата исключений перенаправлений, но в основном только для целей регистрации, а не для повторного перенаправления. Почему вы не проверяете URL самостоятельно?
if(yourCustomUrlValidator(uriString))
{
return Redirect(uriString);
}
else
{
return Redirect(uriError);
}
Вы также можете использовать следующее. net ядро, встроенное в проверку
if (!ModelState.IsValid)
Другой подход заключается в использовании промежуточного программного обеспечения. для обработки исключений и перенаправления на страницу ошибок, но это будет работать только для исключений, которые могут возникнуть перед методом Redirect. Вы можете прочитать об этом здесь: https://dotnetcoretutorials.com/2017/03/20/custom-error-pages-asp-net-core/
Другой вариант - обработать ошибку перенаправления на стороне клиента.