2016-12-16 10 views
0

特定のクエリ文字列パラメータを削除します。フォルダ名は異なる場合があり、specsパラメータの長さは数値の組み合わせによって異なる場合があります。 specsパラメータが存在するときはいつでも、値に関係なく、そのパラメータをストリップとhttp://example.com/folderIIS ReWrite特定の特定のクエリ文字列が含まれている場合にクエリ文字列を削除するルール

例の入力にリダイレクト:

  • http://example.com/folder1?specs=10,13,14,18,20,29
  • http://example.com/folder2?specs=14,18,20

(それぞれ)にリダイレクトします:

  • http://example.com/folder1
  • http://example.com/folder2

他のクエリ文字列のparamsを削除しないでください。すなわち http://example.com/folder1?page=1はリダイレクトされません。

ルールは、IISの書き換えルールのテストツールを使用するだろうというとき、それのように見せかけにもかかわらず、機能していない、しようとしました:

<rule name="SpecsSpiderCrawl" stopProcessing="true"> 
    <match url="(\/\/.*\/)(.*)\?" /> 
    <conditions> 
    <add input="{QUERY_STRING}" pattern="specs=.*" /> 
    </conditions> 
    <action type="Redirect" url="http://{HTTP_HOST}/{R:2}" appendQueryString="false" redirectType="Permanent" /> 
</rule> 

答えて

2

は、私があまりにもハード、それを作っていました。これは、働いていた:

<rule name="SpecsSpiderCrawl" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions> 
    <add input="{QUERY_STRING}" pattern="specs=.*" /> 
    </conditions> 
    <action type="Redirect" url="http://{HTTP_HOST}/{R:0}" appendQueryString="false" redirectType="Permanent" /> 
</rule> 
  • {HTTP_HOST}は、フォルダ名
  • appendQueryString="false"になりますURI
  • {R:0}のちょうどexample.com部分である私のユースケースの罰金です全体クエリ文字列を(削除します。
関連する問題