web-dev-qa-db-ja.com

IISでは、URL書き換えモジュールによって管理される書き換えルールとweb.configのみのルールとの違いは何ですか?

IISでは、URL書き換えモジュールによって管理される書き換えルールと、web.configファイルにのみ存在し、URL書き換えモジュールに表示されないルールとの違いは何ですか?

IIS 7.5のURL書き換えモジュールを使用してルールを追加...

Web.configを見ると、ルールは非常に読みやすく、ルーツに基づいていることがわかります。

対照的に、URL書き換えモジュールによって管理されていないweb.configを介して書き換えルールを使用する...

読みやすいとは思えない(おそらくすべての人に当てはまるわけではない)。これらのルールはの代わりに定着している。

質問:違いは何ですか?また、それぞれの使用の長所/短所は何ですか?個人的には、IISモジュールを使用する機能が気に入っています。これは、ルールをテストするためのインターフェイスを提供するからです。

IIS 7.5 Rewrite Moduleのルールの例:

<rewrite>
        <rules>
            <rule name="LowerCaseRule1" stopProcessing="true">
                <match url="[A-Z]" ignoreCase="false" />
                <action type="Redirect" url="{ToLower:{URL}}" />
            </rule>
        </rules>
    </rewrite>

IIS 7.5 Rewrite Moduleで管理されていないルールの例:

<rewriter>
    <rewrite url="^/([0-9]+)/([0-9]+)/.*.aspx$"
     to="~/ContentDisplay.aspx?CID=$1&amp;SID=$2" processing="stop" />
</rewriter>

注:「.aspx $」の後のコードの2番目の例に改行を追加しました

2
Chris Adragna

メモリから(私はこれを数年前に調査しなければなりませんでした)それは ISAPI 拡張がリダイレクトを処理することと関係があります-あなたが望むのは 同じで実行されているものですプロセス空間 as IIS asそれ以外の場合、リダイレクションはボリュームに応じてWebサーバーを実際に遅くしたり、停止させたりする可能性があります。

上記の方法は、 ISAPIフィルター ではなく、asp.netで 書き換えを実行 であると考えています。

これが最良の答えではないことを感謝します。正しい方向を示すことを願っています。

3
toomanyairmiles