2012-03-10 7 views
0

私は既存のaspアプリケーションの一部を再構築しています。新しい部分はMVCでビルドされています。IIS7 URLリライトが使用されていません

私が現時点で触れていない古い画面の1つは、新しい場所を指す必要があります。私はURLを設定しているそのため、次の正規表現でマシンレベルでIISにリダイレクト:

^workflows/screen\.asp\?objectid=([0-9]+)(.*) 

テスターを使用している場合、私はそれが必要なアイテムをキャッチし、私がする必要が正しい表現だと見ることができます次の新しいURLにユーザーを送信します。

http://domainname/newapppart/select/{R:1} 

私はまだ古いページに送ってるよう書き換えルールも場所ではないかのように思えるのに、私のブラウザでそれをテストする場合。

答えて

1

メインの一致文字列にクエリ文字列が含まれていないため、評価するにはConditionsを使用する必要があります。

<rule name="MyRule" stopProcessing="true"> 
    <match url="^workflows/screen\.asp$" /> 
    <conditions trackAllCaptures="true"> 
     <add input="{QUERY_STRING}" pattern="objectid=([0-9]+).*" /> 
    </conditions> 
    <action type="Rewrite" url="http://domainname/newapppart/select/{C:1}" appendQueryString="false" /> 
</rule> 
関連する問題