url重定向正在工作,但重写显示空白页面

时间:2012-06-06 18:33:16

标签: iis-7 iis-7.5

我已经创建了一条规则来重写它 “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>

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

感谢任何建议。谢谢。

1 个答案:

答案 0 :(得分: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>

我已将\w*\d*替换为\w+\d+,以使其至少需要一个字符(次要内容)。我还将.jpg更改为\.jpg以使其与字面匹配,否则该点将被解释为正则表达式字符,这意味着匹配任何字符。

我认为您的主要问题是重写网址应以/开头。此外,我添加了{UrlEncode{...}}来正确编码参数(不是您的示例的问题,但以防万一)。我认为这应该有用,但正如我所说,我无法测试它。