访问路径较长,例如
www.abc.com/aaaa/bbb/ccc/ddd/eee/fff.aspx?id=1
这种,能否比较简便地将其转化成www.abc.com/a/fff.aspx?id=1
有试过在Global.ascx中使用路由
RouteConfig.RegisterRoutes(RouteTable.Routes);
public static void RegisterRoutes(RouteCollection routes)
{
RouteTable.Routes.MapPageRoute("abc", "a/{id}", "~/aaaa/bbb/ccc/ddd/eee/fff.aspx");
}
但是页面上的相对路径需要使用ResolveClientUrl
才能正确解析,因为业务已经做完了,现在不方便大规模改代码,而且页面还涉及一些图片路径的转换,如果每个相对路径都要改就不太现实了
请问有没有更合适的方法?
Global里面可以做301重定向,思路是获取当前请求的URL,判断URL是否符合某个路由规则,符合则跳相应地址。Global里面获取到的当前请求的URL是不分你页面上是什么路径的,你可以拿到完整的请求路径,也可以拿除去域名后的路径。