Ну Я наткнулся на ту же проблему: у меня есть сайт MVC, работающий под https, и у меня есть некоторые ситуации, когда мне нужно перенаправить на какой-то внешний url, который я получаю в качестве параметра, и когда этот URL-адрес является http URL - говорят http://www.somethingontheweb.com - прямолинейный
return Redirect("http://www.somethingontheweb.com");
фактически не работает, потому что после того, как все это выглядит, как это перенаправление на HTTPS: //www.somethingontheweb.com, который не существует вообще обычно.
До сих пор не знаю, почему это работает как это, но я нашел эту работу вокруг: Я прибег к meta refresh
Так у меня есть страница: ~/Views/Shared/DoRedirect. cshtml и вот его код:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; [email protected]" />
<title>redirecting</title>
</head>
<body>
<p>redirecting...</p>
</body>
</html>
, а затем мой код контроллера просто
ViewBag.RedirectUrl = url;
return View("DoRedirect");
Что * Не работает * об этом? Какие результаты вы получаете вместо этого? –
он будет работать, если вы установили uri.Port = -1; // покупка по умолчанию будет 80 портов, вам нужен порт протокола по умолчанию. –