[ASP] url rewrite

Discussione in 'Classic ASP' iniziata da Sirio, 28 Maggio 2017.

Tag (etichette):
  1. Sirio

    Sirio Nuovo Utente

    Registrato:
    17 Novembre 2011
    Messaggi:
    28
    Mi Piace Ricevuti:
    1
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao a tutti,
    chiedo il vostro supporto per capire come è possibile impostare al meglio le regole di rewriteurl per una pagina alla quale possono essere passati zero, uno o N parametri?

    Attualmente utilizzo la seguente regola

    Codice:
    <rule name="rule articoli">
    <match url="^articoli/([0-9]+)" />
    <action type="Rewrite" url="/articoli.asp?c={R:1}" />
    </rule>
    però se alla pagina articoli non passo alcun valore mi viene restituito, giustamente, l'errore 404.
    La mia necessità è che puntando alla pagina "/articoli", questa di default mi carichi gli articoli dell'anno corrente e di tutte le categorie (caso del passaggio di 0 parametri); al momento con la regola così impostata devo per forza costruire l'url in questo modo "/articoli/0" e personalmente non mi piace più di tanto, preferirei mantenere solo il nome della pagina in questo caso; qual ora invece volessi visualizzare gli articoli di una determinata categoria sarebbe corretto visualizzare il parametro in url "/articoli/34" (caso di 1 parametro).

    Attualmente il codice che genera la query è questo:
    Codice:
    <%
    anno = request.QueryString("anno")
    If IsNumeric(anno) = False Or anno = "" Then
    anno = Year(Date())
    Else
    anno = anno
    End If
    
    cat = request.QueryString("c")
    If cat = "" Then
    cat = 0
    Else
    cat = cat
    End If 
    
    if cat=0 then
    sql = "SELECT stbc_circolari.id AS ID, stbc_circolari.data AS Data, stbc_circolari.titolo AS Titolo, stbc_circolari.testo AS Testo, stbc_circolari.categorie AS Categorie, stbc_circolari.stato AS Stato FROM stbc_circolari WHERE stbc_circolari.aa='" & anno & "' ORDER BY stbc_circolari.data DESC"
    else
    sql = "SELECT stbc_circolari.ID AS ID, stbc_circolari.data AS Data, stbc_circolari.titolo AS Titolo, stbc_circolari.testo AS Testo, stbc_circolari.categorie AS Categorie, stbc_circolari.stato AS Stato FROM stbc_circolari WHERE (((stbc_circolari.aa)='" & anno & "') AND ((stbc_circolari.categorie) Like '%" & cat & "%')) ORDER BY stbc_circolari.data DESC"
    end if
    %>
    Il passaggio successivo sarà quello di passare anche l'anno e l'url sarà composto in questo modo "/articoli/20xx/34" (caso di N parametri); presumo che la regola dovrà essere scritta più o meno in questo modo

    Codice:
    <rule name="rule articoli">
    <match url="^articoli/([0-9]+)/([0-9]+)" />
    <action type="Rewrite" url="/articoli.asp?a={R:1};c={R:2}" />
    </rule>
    
    Spero di essere stato abbastanza chiaro nella spiegazione del problema e spero riusciate ad aiutarmi come sempre.
    Tornare indietro e continuare a vedere i parametri dell'url con punti e virgole, uguale e punti di domanda...mi fa un po' rabbrividire

    Grazie
    Sirio
     
Sto caricando...

Condividi questa Pagina