2011-12-08 9 views
5

ドメイン名をbar.example.comからwww.example.com(www.example.com以外のもの)に正規化したいと考えています。サイトはIIS7を実行します。IIS7 URLリライト - リダイレクトルールでstopProcessing = "false"を使用できますか?

問題は、私は他のルールをキャッチし、ルールを書きたいhttp://www.example.com/newpage/awesome

にリダイレクトすること、特定のURLがフォームhttp://bar.example.com/asp/oldpage.asp?query=awesomeであったということで、その場所にすでに特定のURL書き換えルールを持っています。 HERE

はCATCH'S:私は、ルールのたくさんを持っており、サイトのルートにこのルールを入れたいのですが、追加の書き換え/サブフォルダにルールをリダイレクトを持っているので、私はから301を延期したいですすべてのルールが実行されるまで起きます。

これは可能ですか?書き換えには延期するオプションがありますが(stopProcessing = "false")、これはリダイレクトのオプションではないようです。

ここにはSOLがありますか?

答えて

6

残念ながら、遅延処理(stopProcessing="false")はリライトアクションのみで動作し、リダイレクト処理では無視されることが確認できます。

マッチの数は少なかったですが、あなたの質問によれば、私はあなたに正規表現の交替を使用してそれらを組み合わせるよう提案していました。

First match: ^first/a$ 
Second match: ^second/b$ 

Combined match: ^(first/a|second/b)$ 

のようなものにリードする:たとえば、追加の注意点としては

<rule name="MyCombinedRule"> 
    <match url="^(first/a|second/b)$" /> 
    <action type="Redirect" url="http://www.example.com/third/c" /> 
</rule> 
+0

、サブフォルダは、* *親ディレクトリからルールをクリアすることができますが、それは私がルールをコピーする必要があることを意味しますすべてのサブディレクトリ。 – Broam

関連する問題