Я много искал, но не нашел никакого решения. Так вот мой случай:Динамическая внутренняя переадресация в ASP.NET MVC
У меня есть модель базы данных UrlRedirect
public class UrlRedirect : AuditInfo
{
[Key]
public int Id { get; set; }
public string OldUrl { get; set; }
public string NewUrl { get; set; }
}
Как вы можете предположить, что я пытаюсь сохранить отображение URL между OldUrl
и NewUrl
.
Я хочу внутренне изменить OldUrl
путь запроса к NewUrl
, а затем запустить все определенные маршруты, как они будут работать, если пользователь открывает NewUrl
непосредственно.
Перенаправление должно быть на стороне сервера URL переписан и пользователь должен увидеть старый URL в браузере
Какое «перенаправление» вы ожидаете? 301? 302? или просто на стороне сервера переписывать, что пользователь все еще видит старый URL-адрес в своем браузере? – tweray
Я хочу, чтобы серверный URL-адрес переписывал, что пользователь по-прежнему видит старый URL-адрес в своем браузере :) –
Как правило, это должно быть сделано с помощью маршрутизации в MVC, так как вы хотите перенаправить URL-адрес на URL-адрес, который может быть немного сложным, и, возможно, вам нужно изменить свой структура данных. Необработанным способом является HttpContext.Current.RewritePath() в Application_BeginRequest в Global.asax. Дайте мне знать, если вам нужен какой-то пример кода для любого способа. – tweray