2014-01-18 6 views
8

На моем сайте я переместил несколько изображений из одной папки в другую.Перенаправление с ASP.NET MVC MapRoute

Теперь, когда я получаю запрос на старые изображения «/ old_folder/изображений/*» Я хочу, чтобы сделать постоянную переадресацию в новую папку с этими изображениями «/ new_folder/изображения/*»

Например:

/old_folder/images/image1.png => /new_folder/images/image1.png 

/old_folder/images/image2.jpg => /new_folder/images/image2.jpg 

Я добавил простой контроллер перенаправлять

public class RedirectController : Controller 
{ 
    public ActionResult Index(string path) 
    { 
     return RedirectPermanent(path); 
    } 
} 

Теперь нужно настроить соответствующую маршрутизацию, но я не знаю, как передать часть пути к параметру пути.

routes.MapRoute("ImagesFix", "/old_folder/images/{*pathInfo}", new { controller = "Redirect", action = "Index", path="/upload/images/????" }); 

Благодаря

ответ

21

Я хотел бы сделать в следующем пути

routes.MapRoute("ImagesFix", "/old_folder/images/{path}", new { controller = "Redirect", action = "Index" }); 

и в контроллере, что

public class RedirectController : Controller 
{ 
    public ActionResult Index(string path) 
    { 
     return RedirectPermanent("/upload/images/" + path); 
    } 
} 
4

первой загрузки, как и установить пакет RouteMagic из this link, а затем перенаправить старый адрес на новый адрес Как нижеприведенный код:

var NewPath = routes.MapRoute("new", "new_folder/images/{controller}/{action}"); 
var OldPath = routes.MapRoute("new", "old_folder/images/{controller}/{action}"); 
routes.Redirect(OldPath).To(NewPath); 

для получения дополнительной информации, пожалуйста, проверьте ссылку Redirecting Routes To Maintain Persistent URLs

+0

Вы должны опубликовать это как комментарий –

Смежные вопросы