ASP.NET MVC2にカスタムルートハンドラーがあり、次のようなプレフィックス付きパスですべてのURLをキャッチします。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.Add(new Route("@api/{*all}", new ApiHandler()));
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
ルーティングは正常に機能しますが、Html.Actionlinkを使用するか、コントローラーからReturnToAction()を返すと、構築されたURIは次のような壊れたURIを作成します。
/@api?action=Add&controller=Home
それ以外の
/Home/Add
デフォルトルートパターンを考慮するために、URI構築ロジックにどのように影響を与えることができますか?