我在一个站点上有一堆静态内容,这些内容始终位于根目录中,例如http://mysite.com/smiley.gif
. 我想把它全部移到一个子目录http://mysite.com/images/smiley.gif
中。
问题是多年的内容指向第一个 URL。将这些请求转发到新位置的最佳方式是什么?
我在一个站点上有一堆静态内容,这些内容始终位于根目录中,例如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>