2013-12-20 107 views
1

我试图在IIS 7.5 URL重写中创建一个重写规则。我想要实现的是,当有人点击某个pdf文件时,我希望他们被重定向到一个表单,然后当他们填写表单时,他们会得到只有问号的pdf文件。 例如?download=true附加到它通过重写规则,以便通过结束:IIS 7.5 Url重写忽略问号

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

问题很简单,你应该检查{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> 
+0

非常感谢你帮助我,这让我疯狂。 – Jefferson