iis-7 - installing - windows 2012 iis install url rewrite



Utilizzando il modulo di riscrittura di IIS7 e un database (1)

l'URL che corrisponde al tag non include la stringa di query ed è per questo che non lo vedrai nel tuo R: 1, dovresti essere in grado di cambiare la tua condizione in modo che sia qualcosa del tipo:

<add input="{DB:{R:1}?{QUERY_STRING}}" pattern="(.+)" /> 

La mia azienda si è convertita da un vecchio sito Web a uno nuovo e abbiamo un sacco di vecchie pagine con URL come questo:

  • www.example.com?foo.aspx
  • www.example.com?foo.aspx?ID=B&utm_source=Foo
  • www.example.com?foo.aspx?ID=C&utm_source=Foo

Questi URL devono andare rispettivamente a queste pagine:

  • www.example.com/ProductA
  • www.example.com/ProductB?utm_source=Foo
  • www.example.com/ProductC?utm_source=Foo

Posso farlo funzionare usando il mio web.config ma ce ne sono così tanti che preferirei farlo nel database. Sono stato in grado di passare parzialmente al database utilizzando l'articolo http://learn.iis.net/page.aspx/803/using-custom-rewrite-providers-with-url-rewrite-module/ .

Il mio problema è che tutti i miei esempi iniziali reindirizzano a www.example.com/ProductA. È come se stessero ignorando le stringhe di query. Qualche idea su come risolvere questo problema? La mia regola nel mio file di configurazione è:

<rule name="DbProviderTest" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
    <add input="{DB:{R:1}}" pattern="(.+)" />
    </conditions>
    <action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>  




mod-rewrite