我剛剛從MVC 4升級到5,並開始使用屬性路由。 它工作完美,易於實施。MVC屬性路由,重定向舊網址
但是,由於網站已經連續數月沒有鏈接到網站,包括搜索引擎。 舊的網址無效,因此我需要永久重定向它們。 我不確定最好的方法是什麼。我認爲如果我在route.config中創建了一個路由,它將作爲路由屬性的備份工作。但它似乎只是一個有效的(第一次服務)。
例.. 舊的URL:/銀行/ 5 新的URL:/ superbank/5
屬性路線是這樣的:
[Route("superbank/{id}")]
而且route.config:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.LowercaseUrls = true;
routes.MapMvcAttributeRoutes();
routes.MapRoute(
"BankDetails",
"bank/{id}",
new { controller = "Home", action = "bank" }, //the action is still called bank, not superbank
new { id = @"^\d+$" }
);
使用此代碼,只有超級銀行/ 5將工作,而不是銀行/ 5 如果我將MapMvcAttributeRoutes()放在MapRoute之下,那麼您的ur ls將工作,項目中的所有URL將被創建並指向bank/5。
任何想法? 我應該使用global.asax還是IIS url重寫?
我不想重命名該操作,也無法創建兩個操作,一個操作爲路由銀行/ {id},另一個操作爲超級銀行/ {id}。而且這不僅僅是一個動作,它總共大概有30個:) – Andreas