0

我创建了一个规则来重写这个“http://192.111.111.111:8020/1B3KC46K48N6228671/20120524/1B3KC46K48N62286711_l1.jpg”

“http://192.111.111.111:8020/1B3KC46K48N62286711_l1.jpg?vin=1B3KC46K48N6228671&dt=20120524”

规则是:

 <rule name="Redirect VIN">
      <match url="^(\w*)/(\d*)/(\w*.jpg)$" />
      <action type="Rewrite" url="{R:3}?vin={R:1}&amp;dt={R:2}" />
 </rule>

当将上述规则应用为“重定向”时,它的工作绝对正常。但是当应用为“重写”时,它不起作用并显示空白页。

任何建议表示赞赏。谢谢。

4

1 回答 1

0

这是我的建议。它未经测试,因为我目前无法访问测试机器:

<rule name="Redirect VIN">
     <match url="^(\w+)/(\d+)/(\w+\.jpg)$" />
     <action type="Rewrite" url="/{R:3}?vin={UrlEncode:{R:1}}&amp;dt={UrlEncode:{R:2}}" />
</rule>

我已经用 and 替换了你的and ,\w*使它至少需要一个字符(次要的东西)。我还进行了更改以使其与点字面意思匹配,否则点将被解释为正则表达式字符,这意味着匹配任何字符。\d*\w+\d+.jpg\.jpg

我认为您的主要问题是重写 URL 应该以/. 此外,我添加了{UrlEncode{...}}正确编码参数(不是您的示例的问题,但以防万一)。我认为这应该可行,尽管正如我所说,我无法对其进行测试。

于 2012-06-07T21:48:06.940 回答