[英]Route all URL's to Home controller action C# MVC
我想在 c# 中創建一個 URL 重定向器,所以每當我的 MVC 應用程序基 url 被參數命中時,我想根據 url 中的參數(站點、文件夾、文件、id 等)將其重定向到其他 url,例如: http://localhost:8080/site/folder/file/id 或 http://localhost:8080/site/folder/file 或 http://localhost:8080/site/folder 等,所以請求 url 可以是任何類型,只有基本 url 將被修復。
我嘗試將默認路由更新為
routes.MapRoute(
name: "Default",
url: "{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我也嘗試創建一個自定義的新路線
routes.MapRoute(
"DCTM", // Route name
"Da/{objectId}", // URL with parameters
new { controller = "Home", action = "Redirector" } // Parameter defaults
);
但是上述兩種方法都給出了錯誤。 可以做些什么來實現這一目標?
我有解決辦法!!! 將 Web 應用程序的任何傳入 url 重定向到任何其他 Web 應用程序,如下所示
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Dctm",
url: "{*nodeAliasPath}",
defaults: new { controller = "Home", action = "Redirector", id = UrlParameter.Optional }
);
}
public ActionResult Redirector()
{
string destinationURL = "Destination base url" + Request.RawUrl; // combine the destination base url and source url parameters.
return Redirect(destinationURL);
}
輸出:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.