我在一个网站上有一堆静态内容,这些内容一直存在于根目录中,如http://mysite.com/smiley.gif
。我想将其全部移动到子目录http://mysite.com/images/smiley.gif
.
问题是多年的内容指向第一个URL。将这些请求转发到新位置的最佳方式是什么?
我们最近正是这样做的。我们最终通过 IIS 使用了重写规则,因为它们在管道中很早就应用了,因此对性能的影响最小。查看 UrlRewrite 模块以获取更多信息。
刚刚打开了我们的规则,在 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>