• User Newbie

    Espressione regolare e redirect

    Salve.. spero che qualcuno possa aiutarmi perché non ne sto venendo a capo.
    Uso un espressione regolare per fare dei redirect da URL di questo genere:

    sito.com/elenco/a/sezione/gruppo-2

    a queste URL:

    sito.com/elenco/a/sezione/gruppo

    Ho provato subito con questa espressione:

    RedirectMatch 301 ^/elenco/([a-z0-9]{1})/(.+)/(.+)\-2$ sito.com/elenco/$1/$2/$3
    

    Mi sembrava funzionasse bene finché non mi sono accorto di un problema,
    infatti esisto anche URL di questo genere nel sito:

    sito.com/elenco/a/sezione/gruppo/elemento-2

    Che non voglio reindirizzare ma che con quella espressione ovviamente succede,
    ho fatto varie modifiche all'espressione ma nessuna ha funzionato.. ho cercato
    per esempio di essere più specifico e ho sostituito l'espressione con questa:

    ^/elenco/([a-z0-9]{1})/(.+)/([a-z0-9\-]+)\-2$ sito.com/elenco/$1/$2/$3
    

    Pensavo di escludere lo "/" dai caratteri consentiti ma il redirect avviene lo stesso.

    Grazie mille..


  • Admin

    Non ho capito.

    Prima dici che vuoi fare il redirect e poi dici che non vuoi che avvenga.

    Ho capito male io o ti sei spiegato male tu? 🙂


  • User Newbie

    Credo che hai capito male tu.. i due tipi di URL sono diverse 😉
    Del primo tipo voglio fare il redirect, del secondo no.. solo che con l'espressione
    regolare che utilizzavo il redirect avveniva per entrambi i tipi, per fortuna dopo
    essermi spremuto ancora di più le meningi ho trovato il problema.. l'espressione
    corretta in poche parole è questa:

    ^/elenco/([a-z0-9]{1})/([a-z0-9\-]+)/([a-z0-9\-]+)\-2$ sito.com/elenco/$1/$2/$3
    

    Grazie mile per l'interessamento..