のようなルートディレクトリに常に存在しているサイトに、大量の静的コンテンツがあります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>