3
請原諒令人迷惑的標題;)ASP.NET MVC:如何「理解」遺留URL但不寫它們?
我們已經構建了一個ASP.NET MVC應用程序來替換我們的「舊」ASP.NET webforms怪物。我們仍然希望支持那裏使用的一些舊網址,因爲這些網址可能還會在電子郵件等等的某個地方出現。
例如:我們的舊系統使用URL〜/ Password.aspx,新MVC系統中的URL是〜/ Home/Password。
爲了支持這些舊網址,我們只需將它們添加到路由表,就像
routes.MapRoute(
"Password",
"Password.aspx",
new {
controller = "Home",
action = "Password",
id = ""
}
);
這個偉大的工程,但每當我們使用Url.Action(「密碼」,「家」)在我們的代碼它會生成舊的URL(「〜/ Password.aspx」而不是「〜/ Home/Password」)。由於我們想慢慢淘汰舊的URL,如果MVC路由仍舊「理解」舊的URL,但只使用/寫入新的URL,那將會很好。
有沒有辦法做到這一點?
我也建議將舊URL映射到*重定向到新URL的內容。這也可以幫助搜索引擎更好地索引您的網站。 – Levi 2009-12-29 18:13:25
+1 - 好主意。 – jchapa 2009-12-29 18:17:17
Argl,這麼簡單;我怎麼沒有想到我自己;) 非常感謝,它不適用於我們的情況下的所有URL /路線(有些非常複雜),但對一些。 – 2009-12-30 13:11:24