• User Attivo

    url rewrite per più url con stesso numero di parametri

    Ciao a tutti,
    ho queste 2 regole nel file .htaccess:

    RewriteCond %{REQUEST_URI} ^/(.)/(.).html
    RewriteRule ^([^/]+)/([^/]+).html$ gioco.php?cat=$1&id=$2
    RewriteCond %{REQUEST_URI} ^/(.*).html
    RewriteRule ^([^/]+).html$ lista-giochi.php?cat=$1

    Il tutto funziona alla perfezione, ma solo se l'url che punta a lista-giochi.php ha un solo parametro, e l'url che punta a gioco.php ne ha 2.

    Se i 2 url dovessero avere lo stesso numero di parametri, come devo fare a livello di RewriteCond, visto che le pagine php sono 2 diverse?

    Ad esempio, se sia l'url che punta a gioco.php che quello che punta a lista-giochi.php hanno 2 parametri, come faccio a scrivere una regola che gestisca il reindirizzamento ad una pagina piuttosto che l'altra?

    E' difficile da spiegare, spero sia minimamente comprensibile 😮

    Ciao, grazie!


  • User

    Ciao Francy88,

    se non hai qualche elemento di distinzione(range di id, elenco categorie, o cose simili) tra le due url credo sia difficile.

    ciao ciao


  • User Attivo

    Ciao Ublogtoo, in teoria si...
    Se è presente il parametro "id" devo per forza essere nella pagina gioco.php, perchè in lista-giochi.php quel paramento non è previsto...
    Si può fare qualcosa sulla RewriteCond, in modo che controlli l'url REALE e non quello fittizio?

    Grazie, ciao


  • User

    Ciao,
    la condizione la devi avere sull'url di ingresso (quindi quello fittizio)..altrimenti la vedo difficile


  • User Attivo

    Ciao, ipotizziamo 2 link del genere:

    i parametri sono 3 per entrambi gli url.
    Io so che se il secondo parametro del primo url sarà sempre numerico.
    Posso fare una condizione che controlla il secondo parametro, se è un numero mi manda su giochi.php, mentre se non lo è, mi manda su lista-giochi.php ?

    Mi sembra di capire un po' meglio....


  • User

    Allora così già è più percorribile la cosa...
    E una cosa del genere dovrebbe fare al caso tuo

    RewriteCond %{REQUEST_URI} ^/(.)/([0-9]+)/(.).html
    RewriteRule (.).html$ /gioco.php?parametro=%1&id=%2&parametro2=%3
    RewriteCond %{REQUEST_URI} ^/(.
    )/([a-zA-Z0-9]+)/(.).html
    RewriteRule (.
    ).html$ /lista-giochi.php?cat=%2

    ovviamente metti i nomi dei parametri reali , cioè quelli che ti servono (cat, id ecc). E controlla che non ci sinao conflitti con altre URL del sito

    facci sapere

    ciao ciao