0

IIS7 の Url Rewrite モジュールに問題があります。このタイプの問題に関するいくつかの投稿を読みましたが、理解できないようです。

ルールは次のとおりです。

<rule name="Imported Rule 11" stopProcessing="true">
   <match url="/s\/([\w\%20\s]+)\/default\.aspx" />
   <action type="Rewrite" url="\/landingpage.aspx\?mc={R:1}" 
     logRewrittenUrl="true" />
</rule> 

次のような以前の ISAPI ini フィルターからインポートしました。

RewriteRule ^\/s\/([\w\-\_\%20\s]+)\/default\.aspx \/landingpage.aspx\?mc=$1 [L,I]

組み込みのテスターで動作させるには、正規表現を少し調整する必要がありましたが、次のような URL との一致です。

/s/RETQ211CA/default.aspx

ログによると、リクエストは次のように送信されます。

2012-10-18 15:41:54 ::1 GET /s/RETQ211CA/default.aspx - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E) 404 0 0 1468

これは、ローカルまたはインターネット経由で行われます。

誰かが私がここで間違っていることを正確に教えてもらえますか?

ありがとう!

4

1 に答える 1

1

次のルールでうまくいきます。

s\/([\w\%20\s]+)\/default\.aspx

必要に応じて、このルールを ^ で開始し、$ で終了することもできます。

混乱は、URL の書き換えがルートにいることを前提としていることです。

于 2012-10-18T16:12:57.883 に答える