【问题标题】:IISRewrite encoding of %2f in pathIIS 重写路径中 %2f 的编码
【发布时间】:2016-02-25 02:43:24
【问题描述】:

所以我有这样的路径(我正在使用网络表单): 文件夹/第一/第二/ 它背后有以下重写规则

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

我的问题是当我尝试通过以下内容时: folder/first/sec%2fond/ (我希望 R2 成为 sec%2fond,我会将其 urlDecode 返回到页面。结果类似于“sec/ond”。

但是我的规则一直把它当作我想要的 文件夹/first/sec/ond

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

物理路径 \rewritetest\folder\first\sec\ond\

感谢您的帮助..

【问题讨论】:

    标签: url-rewriting rewrite url-rewrite-module


    【解决方案1】:

    我为其他人找到了解决此问题的有效方法。

      <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>
    

    【讨论】:

      猜你喜欢
      • 2015-08-26
      • 2018-09-06
      • 1970-01-01
      • 2014-10-12
      • 2020-09-30
      • 1970-01-01
      • 2014-06-27
      • 2013-01-06
      • 1970-01-01
      相关资源
      最近更新 更多