首页 新闻 会员 周边 捐助

ASP.NET WebForm如何将多级子目录的访问路径显示为短链接?

0
悬赏园豆:20 [待解决问题]

访问路径较长,例如

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才能正确解析,因为业务已经做完了,现在不方便大规模改代码,而且页面还涉及一些图片路径的转换,如果每个相对路径都要改就不太现实了

请问有没有更合适的方法?

夜尽丶的主页 夜尽丶 | 初学一级 | 园豆:173
提问于:2019-11-27 09:22
< >
分享
所有回答(1)
0

Global里面可以做301重定向,思路是获取当前请求的URL,判断URL是否符合某个路由规则,符合则跳相应地址。Global里面获取到的当前请求的URL是不分你页面上是什么路径的,你可以拿到完整的请求路径,也可以拿除去域名后的路径。

顾星河 | 园豆:7281 (大侠五级) | 2019-11-27 10:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册