我正在尝试在IIS 7.5 Url Rewrite中创建重写规则。我想要实现的是当有人点击某个pdf文件时,我希望将它们重定向到一个表单,然后当他们填写表单时,他们会得到一个只有问号的pdf文件。
例如?download=true
附加到通过重写规则的末尾,所以:
pdf/my-pdf-file.pdf will be redirected to go-to-this-file.aspx
(这将是一种形式)
然后他们被重定向到:
pdf/my-pdfpfile.pdf?download=true
重写规则不应该提取,但它确实是我的问题。
这是我的规则:
<system.webServer>
<rewrite>
<rules>
<rule name="My PDF Rule">
<match url="^pdf/my-pdf-file.pdf$" ignoreCase="true" />
<action type="Rewrite" url="/go-to-this-file.aspx" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
请有人帮忙。干杯!
答案 0 :(得分:0)
问题很简单,您应该检查{QUERY_STRING}
是否包含download=true
,然后再重定向。试试这个:
<system.webServer>
<rewrite>
<rules>
<rule name="My PDF Rule">
<match url="^pdf/my-pdf-file.pdf$" ignoreCase="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="download=true" negate="true" />
</conditions>
<action type="Rewrite" url="/go-to-this-file.aspx" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>