如何在asp.net 2中创建友好的URL

时间:2008-11-10 19:16:39

标签: asp.net url-rewriting asp.net-2.0 friendly-url

我尝试使用IHttpModule并设法转换网址就好了, 但我的所有图像都返回了路径错误(所有图像都通过新的url目录)。

解决方案是什么?

3 个答案:

答案 0 :(得分:1)

您需要确保在图像上使用“〜/”路径表示法,并确保它们都是runat ='server'的服务器控件。否则图像网址将不会被重写。

例如,如果您有一个可以从以下位置重写的页面:

/Item/Bicycle.aspx

/Item.aspx?id=1234

然后会发生这样的图像引用:

<img src='images/something.gif' />

会破裂。所以你必须做这样的事情:

<asp:image imageurl='~/images/something.gif' runat='server' id='img1'/>

或者,您可以使用图像的绝对路径。或者您可以尽可能多地推送到.css文件中。

答案 1 :(得分:0)

您可以尝试使用网址重写器,例如IIRF

使用IIRF,您可以使用正则表达式根据需要解析传入的URL,然后将其发送到正确的位置。

他们有关于如何在IIRF下载中完成所有操作的示例。

答案 2 :(得分:0)

解决方案是什么?使用在MVC项目中启动的.NET 3.5中的新路由引擎,并将其升级为独立状态。 :)

如果Keltex的建议无法解决您的具体问题,请查看ResolveUrl和ResolveClientUrl。