2013-12-20 5 views
1

Я пытаюсь создать правило перезаписи в IIS 7.5 Url Rewrite. То, что я пытаюсь достичь, - это когда кто-то нажимает на определенный файл PDF, я хочу, чтобы они были перенаправлены на форму, а затем, заполнив форму, они получают файл pdf, который просто имеет знак вопроса. , например. ?download=true прилагаются к концу этого, который проходит через правило перезаписи так:IIS 7.5 Url Rewrite игнорирование вопросительного знака

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

Смежные вопросы