Url Rewrite 的一些问题

   现在很多的的站点都进行有进行Url重写,Url重写是一个相当重要的技术。在Asp.net中都是通过在BeginRequest事件中使用httpContext.RewritePath()方法进行地址的重定向,在Asp.net 2.0通过web.config的配置也直接能够实现Url重写,但它内部还是使用上述方法。关于Url Rewrite的具体实现这边不做讨论,我的实现是从CommunityServer搬过来用的。但是目前遇到一个很棘手的问题。页面(a.aspx)中使用了链接相对路径的客户端控件,如<a href="1.aspx">测试</a>,那么如果把当前的页面地址重写为/Test/a.aspx,那么页面中的链接在客户端就会变成/Test/1.aspx,这个链接就会出错。对这种情况可以使用服务器端控件,链接改为<a href="~/1.aspx" runat="server"/>,但是将这种办法用于table,却不会生效,在给table里的一个td设置背景(background)图片,然后将它设为runat="server",但是背景图仍然不会显示,对于这种情况只能使用CSS来控制td的背景图了,因为在Asp.net 2.0 的HTML编辑器中提示background属性是不被支持的,但是它仍然会被浏览器解析,能够通过background设置背景图是不够规范的,并且看来很难被Url重写所支持。
原文地址:https://www.cnblogs.com/hjf1223/p/366569.html