IISRewrite编码

问题描述:

所以我有这样的路径(我使用的WebForms): 文件夹/第一/二/ 其背后都有以下重写规则IISRewrite编码

<rule name="firstLevel"> 
       <match url="^folder/([^/]+)/([^/]+)/?$" /> 
       <action type="Rewrite" url="firstSecond.aspx?param1={R:1}&amp;param2={UrlEncode:{R:2}}" /> 
</rule> 

我的问题是,当我尝试通过以下: 文件夹/首/秒%2fond /(我想R2是秒%2fond在那里我会urlDecode回页面对于喜欢“秒/ OND”结果

。然而,我的规则继续把它当作我想 folder/first/sec/ond

请求的URL http://localhost:85/research/first/sec/ond/

物理路径 \ rewritetest \文件夹\第\秒\ OND \

感谢任何助攻..

我找到了一个工作解决这个问题的任何人。

<rule name="secondLevel"> 
     <match url="^folder/(.+)/(.+)/?$" ignoreCase="true" /> 
     <action type="Rewrite" url="firstsecond.aspx?param1={C:1}&amp;param2={C:2}" /> 
     <conditions> 
     <add input="{UNENCODED_URL}" pattern="/folder/([^/]+)/([^/]+)/?$" /> 
     </conditions> 
    </rule>