Url重写图像

时间:2012-10-18 14:13:35

标签: asp.net .net url-rewriting rewritepath

我正试图弄清楚如何使用Application_BeginRequest为网站上的图片启用短网址。

目前,要打开图片,我必须使用如下所示的完整网址:

http://mywebsite.com/ViewImage.aspx?album=123&id=456

我希望使用短网址访问图片:

http://mywebsite.com/123/456

ViewImage.aspx从数据库中动态检索图像。

假设我应该使用RewritePath方法。但到底怎么样?

2 个答案:

答案 0 :(得分:1)

您可以使用URL重写来完成此操作http://www.iis.net/downloads/microsoft/url-rewrite您可以在web.config中创建规则,以将网址映射到文件。

我们使用此图像规则来将版本URL映射到真实图像。您可以为您的网址创建一些simulair。在IIS中,您可以在安装模块时测试规则

    <rule name="rewriteImgRule" stopProcessing="true">
      <match url="^v[0-9\.]+/img/(.*)$" />
      <action type="Rewrite" url="/img/{R:1}" />
    </rule>

答案 1 :(得分:1)

@ Ivo的答案可能是最简单的,但我个人更愿意避免安装额外的模块。

如果您使用的是IIS7(Windows 7 / Server 2008或更高版本),则可以使用请求处理程序(.ashx文件),然后将各种Url映射到它们...

请参阅http://www.dotnetperls.com/ashx以获取有关设置一个的教程。

一旦你有一个工作,你可以检查Request对象,以确定究竟使用了什么Url并以你喜欢的方式提取参数