2

次のルールを使用して、ドメインを共有ホスティング環境のサブフォルダーにマップしています。

<rule name="mydomain.co.uk">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^www.mydomain.co.uk$" />
<add input="{HTTP_HOST}" pattern="^mydomain.co.uk$" />
</conditions>
<action type="Rewrite" url="MyDomainFolder/{PATH_INFO}" />
</rule>

このルールにより、www.mydomain.co.uk/MyDomainFolder/ ではなく、www.mydomain.co.uk で自分の Web サイトにアクセスできます。

問題は、ルールがアプリケーションの仮想ルートを変更することです。href="PageTwo.aspx" を持つコントロールは、href="MyDomainFolder/PageTwo.aspx" になります。これは、チルダを使用する場合も同じです: href="~/PageTwo.aspx" は、href="MyDomainFolder/PageTwo.aspx" になります。

何らかの理由で、これは response.redirect が機能しないように見えますか?

リンクとresponse.redirectを修正する方法を知っている人はいますか?

4

1 に答える 1

0

本当に必要と思われるのは、応答フィルターと書き換えの両方です

IIS 7 を使用している場合、URLRewrite プラグインはこの双方向の書き換えをサポートしています。

http://www.iis.net/download/urlrewrite

彼らはそれらをインバウンド(書き換え)およびアウトバウンド(応答フィルタリング)ルールと呼んでいます

于 2010-11-05T04:29:23.277 に答える