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&SID=$2" processing="stop" />
</rewriter>
注:「.aspx $」の後のコードの2番目の例に改行を追加しました
メモリから(私はこれを数年前に調査しなければなりませんでした)それは ISAPI 拡張がリダイレクトを処理することと関係があります-あなたが望むのは 同じで実行されているものですプロセス空間 as IIS asそれ以外の場合、リダイレクションはボリュームに応じてWebサーバーを実際に遅くしたり、停止させたりする可能性があります。
上記の方法は、 ISAPIフィルター ではなく、asp.netで 書き換えを実行 であると考えています。
これが最良の答えではないことを感謝します。正しい方向を示すことを願っています。