IIS 8.0 で URL 書き換えを使用して、開発者のマシンで既存の URL を書き換えようとしています。その理由は、既存の (古い) コードを変更したくないからです。
私が達成しようとしているのは、応答ストリームで次のコードを変更することです:
<a href="http://www.foo.com/path/page.asp?a=1">Foo Page</a>
の中へ:
<a href="http://www.foo.localhost/path/page.asp?a=1">Foo Page</a>
しかし、私が試しているとき、私は次のようになります:
<a href="foo.localhost">Foo Page</a>
ご存知のように、これはあまり満足のいく結果ではありません。
それで、私がやろうとしていることを達成するために、この書き直しを適切に行うにはどうすればよいですか?
アプリケーション変数などを使用してこれを行うより良い方法があることは知っていますが、それは古い解決策であり、アプリケーション自体をあまりいじりたくありません。変更は最小限に留めたいと思います。少なくとも最初は。
私が試したルールは次のようになります。
<system.webServer>
<rewrite>
<outboundRules>
<rule name="foo.com" enabled="true">
<match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="foo.com" />
<action type="Rewrite" value="foo.localhost" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
私が使用すべきいくつかの正規表現マジックがあると思います。