IIRF与IIS和ASP.Net波浪线(~)

IIRF与IIS和ASP.Net波浪线(~),asp.net,url-rewriting,iirf,Asp.net,Url Rewriting,Iirf,当我打开URL重写来访问页面时,~no long被应用程序根目录替换 比如说 <asp:image runat="server" ImageUrl="~/Images/image.png"/> 应产生: <img src="/testing/Images/image.png"> 但这是唯一的输出 <img src="/Images/image.png"> tilde应该被应用程序根路径替换,但看起来IIRF不知怎么搞砸了 关于如何解决这个问题

当我打开URL重写来访问页面时,~no long被应用程序根目录替换

比如说

<asp:image runat="server" ImageUrl="~/Images/image.png"/>

应产生:

<img src="/testing/Images/image.png">

但这是唯一的输出

<img src="/Images/image.png">

tilde应该被应用程序根路径替换,但看起来IIRF不知怎么搞砸了

关于如何解决这个问题有什么想法吗?

波浪号(~)字符表示ASP.NET中应用程序的根目录。在将标记发送到客户端之前,它将在ASP.Net服务器控件中替换为适当的值

另一方面,IIRF在进入ASP.Net管道之前重写URL。它转换来自客户端的请求

IIRF修改请求,而ASP.Net在响应中转换波浪线

因此,在发送给客户机的标记中,您永远不会看到平铺。

如果在发送给客户机的标记中确实有一个tilde,那么它可能是一个bug,您应该修改代码以正确替换它

一些确保瓷砖被替换的指针: