• User

    htaccess, e se manca una variabile GET?

    Forse è una domanda sciocca, mi rendo conto che si può utilizzare il file .htaccess per fare migliaia di cose, ma a me serve solamente per creare dei permalink così impostati:

    [HTML]RewriteRule ^([^]*)([^]*)([^_]*).html$ /search.php?var1=$1&var2=$2&var3=$3 [/HTML]

    search.php?var1=prima&var2=seconda&var3=terza

    equivale a:

    prima_seconda_terza.html

    Tutto funziona alla grande, il mio problema è che a volta manca il valore di var1, a volte quello di var2, ed a volte quello di var3; inoltre può essere che manchino più valori, per esempio ci sia solo il valore di var2, praticamente possono esserci tutte o nessuna, quindi ovviamente non funziona più nulla...
    Le combinazioni sono parecchie, quindi pensavo di fare diverse righe di RewriteRule prevedendole tutte, ma sicuramente c'è un modo migliore per risolvere la cosa, e poi tutte le combinazioni dovrebbero restituire una url diversa, altrimenti i valori separati da underscore non si sa a che variabile appartengono, non posso fare così:

    [HTML]RewriteRule ^([^]*)([^]*).html$ /search.php?var1=$1&var2=$2
    RewriteRule ^([^
    ])([^]).html$ /search.php?var2=$1&var3=$2 [/HTML]

    In rete come sempre ho trovato un'oceano di informazioni, ma nessuna che mi indirizzi ad una soluzione, spero in un vostro aiuto.

    Come sempre vi ringrazio in anticipo. :smile5:


  • User

    Se nessuno risponde forse la domanda forse è troppo banale...
    Mi scuso per questo...

    Chiedo un'altra cosa spero non altrettanto sciocca:
    Il mio htaccess funziona bene (a parte i dubbi sopredescritti) all'interno del mio hosting; anche all'interno delle directory ho inserito l'htaccess e non c'è nessun problema.
    Se però nella directory principale del mio host ho installato un CMS (con un suo htaccess), non riesco ad applicare le regole del mio htaccess all'interno di una directory.
    Eppure so che funziona.
    Devo escludere la directory dal htaccess principale?

    Questo il contenuto:

    **<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^([^/]+)/([^/]+)/([^/]+).html$ /search.php?cat=$1&citta=$2&words=$3

    </IfModule>**

    Grazie ancora in anticipo...