6

IIS7 サーバーでホストされている .net 4.0 Web アプリケーションがあります。

これを読んだ後: http://learn.iis.net/page.aspx/496/iis-url-rewriting-and-aspnet-routing/別のサーバーから静的コンテンツを提供することについて、リクエストごとに Cookie が送信されないようにする静的ファイルの場合、試してみましたが、あまり成功しませんでした。

これは、web.config ファイルに記述されている部分です。

<system.webServer>
    <rewrite>
        <rules>
            <rule name="images" stopProcessing="true">
                <match url="^images/(.*)$" />
                <action type="Rewrite" url="http://static-server.com/images/{R:1}" appendQueryString="true" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

このルールを定義すると、images フォルダー内のファイルへのすべてのリンクを static-server URL に書き換える必要があります。しかし、これはまったく機能しません.imagesフォルダーにあるすべての画像が404 not foundを返します。大量のコードを調べてすべてのリンクを静的サーバーにリンクするように変更することなく、別のサーバーから特定のフォルダーのファイルを提供する方法に関するこの動作または別のソリューションの原因についてのアイデアはありますか?

Rewrite アクションの代わりに Redirect アクション タイプを使用してみましたが、これは実際に機能しましたが、別のサーバーでファイルを提供しようとしている理由に反しています (この方法では、要求は動的コンテンツ サーバーに送信されます)。必要なすべての Cookie が読み込まれ、動的コンテンツ サーバーから画像を提供するよりも実際には悪い静的サーバーにリダイレクトされます)。

4

1 に答える 1

2

ルールだけでこの問題を解決できるとは思いません。おそらく、ユーザーに送信されるページ内のリンクは書き換えられません。

リンク先の記事では、「 IIS Application Request Routing モジュールと一緒に」これを行うことを提案しています。クライアントに送信されたファイル内のリンクを実際に変更するのはルーティング モジュールです。

于 2010-11-09T13:57:37.040 に答える