从目录提供图像,但可以通过其他URL路径访问

时间:2013-09-11 01:53:22

标签: asp.net iis-7 web-config azure-web-sites url-rewrite-module

如何在web.config中指定URL重写,从而对磁盘上的其他目录提供对图像的任何请求?

图像位于目录site-root\foo\bar\images中。通常情况下,http://site-root/foo/bar/images/

可以访问它们

我希望通过其他网址(例如http://site-root/img/

)访问这些图片

例如:

site-root\foo\bar\images\test.png

访问

http://site-root/img/test.png

我真的不需要文件扩展名的过滤器(png,gif,jpg等),而是从img请求从真实目录中读取的任何文件/资源​​。

如何使用ASP.NET web.config URL重写或任何其他方法来实现此目的?

我正在寻找一个web.config解决方案,因为它将部署到Windows Azure网站。

2 个答案:

答案 0 :(得分:0)

我过去通过在IIS中设置虚拟目录以将URL映射到特定文件夹来实现此目的。

答案 1 :(得分:0)

使用此web.config重写规则。

<system.webServer>
<rewrite>
  <rules>
    <rule name="Blog Images to Thier Real Location" stopProcessing="true">
      <match url="^img/(.*)" />
      <action type="Redirect" url="foo/bar/images/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
</system.webServer>

来自Carlos AG's blog post IIS 7.0 and URL Rewrite