優先度は、指定した順序と同じです。IISマネージャーには、「上に移動」および「下に移動」ボタンがあります。例えば
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rule1" stopProcessing="true">
<match url="^foo/?bar=123"/>
<action type="Rewrite" url="foo.aspx?bar=special" appendQueryString="false" />
</rule>
<rule name="Rule2" stopProcessing="true">
<match url="^foo/?bar=([A-z0-9]+)"/>
<action type="Rewrite" url="foo.aspx?bar={R:1}" appendQueryString="false" />
</rule>
<rule name="Rule3" stopProcessing="true">
<match url="^foo/"/>
<action type="Rewrite" url="somethingElse.aspx" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
は/foo?bar=123
の着信要求を考えます。この例では
Rule1
が最初であるので、それは、要求がRule2
、それは同時にRule1
と一致するにもかかわらず、foo.aspx?bar=special
代わりのfoo.aspx?bar=123
に書き換え、そしてRule3
されることを意味します。
属性stopProcessing="true"
は、他の一致規則が実行されないようにします(つまり、Rule2
およびRule3
)。
出典:http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Rules_Evaluation
IISの各構成レベルは、定義されたゼロ個以上のリライトルールを持つことができます。 ルールは、と同じ順序で評価されます。 URL書き換えモジュールは、次のアルゴリズムを使用して一連のルールを処理します。
- 最初に、URLはルールのパターンと照合されます。一致しない場合、URL書き換えモジュールはそのルールの処理を直ちに停止し、次のルールに進みます。
- パターンが一致し、ルールの条件がない場合、URL書き換えモジュールはこのルールに指定されたアクションを実行し、次のルールに進みます。このルールでは、置換されたURLがルールの入力として使用されます。
- パターンが一致し、ルールの条件がある場合、URL書き換えモジュールは条件を評価します。評価が成功した場合は、指定されたルールのアクションが実行され、その後、書き換えられたURLは、web.configファイルのコンテキストでこれを説明することができ、その後のルール
出典
2013-09-21 01:25:58
Dai
への入力として使用されていますか?私はguiについて何も知らない。 – tau
@タウ私は自分の答えを更新しました。 – Dai
ありがとうございます!私はこれをできるだけ早く試みます。 – tau