使用iis url rewrite提供静态内容时如何避免301错误

时间:2013-12-04 07:51:15

标签: asp.net iis url-rewriting

我正在尝试使用IIS网址重写我的网站从其他服务器(或网站)获取图像(静态内容)。下面是写入的相同规则,它检查任何图像请求并从同一服务器上的另一个网站提供服务

 <rule name="image" stopProcessing="true">
      <match url="^Images/(.+)$" />
      <action type="Redirect" url="http://localhost/PGFeedReadAPI/Images/{R:1}" appendQueryString="false" />
 </rule>

这样工作正常,但是我得到的结果是301错误,即请求服务器响应301(永久移动)到浏览器,然后浏览器向新网址发出新请求。我们可以避免这一轮绊倒吗?我宁愿在没有任何代码更改的情况下实现此目的(即仅进行配置更改)。请原谅我是否遗漏了一些基本概念。

1 个答案:

答案 0 :(得分:0)

查看这篇文章的答案: Put images on CDN, using MVC3 on IIS7

使用响应过滤器更改之前的网址。这将避免301s。

我更进了一步并添加了缓存,以便在应用程序启动时查询CDN,将静态文件名的字典保存到CDN URL并快速交换。它还会自动将丢失的文件从本地上传到CDN和将它们添加到字典中以供将来参考(异步)。