2012-11-17 78 views
0

我在IIS7.5上使用IIS重寫模塊。我的映射是在結構的文本文件:IIS重寫模塊來映射querystrings

[old url], [new url] 

因此,像這樣的工作:

products/abc, http://test.com/new/products/abc 

這將使用以下規則在我的web.config

<rule name="FileMapProviderRule" stopProcessing="true"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{FileMapProvider:{R:1}}" pattern="(.+)" /> 
     </conditions> 
     <action type="Redirect" url="{C:1}" redirectType="Permanent" /> 
</rule> 

什麼會我的規則是如果我想querystrings也被傳遞?所以我想這個工作:

products?sku=123, http://test.com/new/products/123 
products?sku=789, http://test.com/new/products/789 

回答

0

我解決了這個由以下規則:

<rule name="Products" patternSyntax="Wildcard" stopProcessing="true"> 
    <match url="products" /> 
    <conditions> 
     <add input="{QUERY_STRING}" pattern="sku=*" /> 
    </conditions> 
    <action type="Redirect" url="http://test.com/new/products/{C:1}" appendQueryString="false" redirectType="Permanent" /> 
</rule>