IISRewrite编码
问题描述:
所以我有这样的路径(我使用的WebForms): 文件夹/第一/二/ 其背后都有以下重写规则IISRewrite编码
<rule name="firstLevel">
<match url="^folder/([^/]+)/([^/]+)/?$" />
<action type="Rewrite" url="firstSecond.aspx?param1={R:1}&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}&param2={C:2}" />
<conditions>
<add input="{UNENCODED_URL}" pattern="/folder/([^/]+)/([^/]+)/?$" />
</conditions>
</rule>