我已经创建了一条规则来重写它 “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}&dt={R:2}" />
</rule>
将上述规则应用为“重定向”时,其工作绝对正常。 但是当申请“重写”时,它无效并显示空白页。
感谢任何建议。谢谢。
答案 0 :(得分:0)
这是我的建议。这是未经测试的,因为我现在无法访问测试机器:
<rule name="Redirect VIN">
<match url="^(\w+)/(\d+)/(\w+\.jpg)$" />
<action type="Rewrite" url="/{R:3}?vin={UrlEncode:{R:1}}&dt={UrlEncode:{R:2}}" />
</rule>
我已将\w*
和\d*
替换为\w+
和\d+
,以使其至少需要一个字符(次要内容)。我还将.jpg
更改为\.jpg
以使其与字面匹配,否则该点将被解释为正则表达式字符,这意味着匹配任何字符。
我认为您的主要问题是重写网址应以/
开头。此外,我添加了{UrlEncode{...}}
来正确编码参数(不是您的示例的问题,但以防万一)。我认为这应该有用,但正如我所说,我无法测试它。