转发重定位静态内容的请求

时间:2011-05-17 22:30:23

标签: asp.net asp.net-mvc iis-7 http-headers static-content

我在网站上有一堆静态内容,这些内容一直存在于http://mysite.com/smiley.gif之类的根目录中。我想将它全部移动到子目录http://mysite.com/images/smiley.gif

问题是多年的内容指向第一个网址。将这些请求转发到新位置的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

我们最近做到了这一点。我们最终通过IIS使用重写规则,因为它们很早就应用于管道中,因此性能影响最小。有关详细信息,请查看UrlRewrite module

刚刚打开我们的规则,在IIS中安装重写模块后,将以下内容添加到根Web.config中。此规则将重写所有* .gif请求,您可能需要对其进行一些定制。

<system.webserver>
    <rewrite>
        <rules>
            <clear />
            <rule name="gif" stopProcessing="true">
                <match url="^(.*).gif" />
                <action type="Rewrite" url="/images/{R:0}" />
            </rule>
        </rules>
    </rewrite>
</system.webserver>