0

厄介な URL の書き換えに問題があります。URL~/global/products/en/page?sdfsdf=sgdfgはクエリ文字列がなくても完全に機能しますが、それでは機能しません。誰でも助けることができますか?モバイル サイト~/global/products/en/m/pageでも同じルールが使用されているため[a-zA-Z0-9/_-]*?、真ん中に があります。ルール 6 はそれを修正するための私の試みですが、私は一般的に正規表現が苦手なので、助けていただければ幸いです。

<add name="rule1" 
     virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?[^\.])$" 
     rewriteUrlParameter="ExcludeFromClientQueryString"   
     destinationUrl="~/country/$1.aspx" 
     ignoreCase="true" />
<add name="rule2" 
     virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?)(.+)\?(.*)$" 
     rewriteUrlParameter="ExcludeFromClientQueryString"    
     destinationUrl="~/country/$1.aspx?$2" 
     ignoreCase="true"/>
4

1 に答える 1

2

ExcludeFromClientQueryStringに変更IncludeQueryStringForRewrite

そのようです:-

<add name="rule1" 
     virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?[^\.])$"           
     rewriteUrlParameter="IncludeQueryStringForRewrite" 
     destinationUrl="~/country/$1.aspx"  
     ignoreCase="true" />
<add name="rule2" 
     virtualUrl="^~/[a-z-]*/([a-zA-Z0-9/_-]*?)(.+)\?(.*)$" 
     rewriteUrlParameter="IncludeQueryStringForRewrite" 
     destinationUrl="~/country/$1.aspx?$2" 
     ignoreCase="true"/>
于 2012-11-02T13:27:44.613 に答える