htaccess, e se manca una variabile GET?

dynamicdevotion

Nuovo Utente
11 Ott 2011
5
0
0
www.dynamicdevotion.com
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:

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

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ì:

Codice:
RewriteRule ^([^_]*)_([^_]*)\.html$ /search.php?var1=$1&var2=$2 [L]
RewriteRule ^([^_]*)_([^_]*)\.html$ /search.php?var2=$1&var3=$2 [L]

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


Vi ringrazio in anticipo.
 
Proprio per il fatto che tutte le combinazioni sono uguali, non puoi distinguere a quali variabili assegnarle. Puoi solamente basarti sulla lunghezza:
Codice:
RewriteRule ^([^_]*)_([^_]*)_([^_]*)\.html$ /search.php?var1=$1&var2=$2&var3=$3 [L]
RewriteRule ^([^_]*)_([^_]*)\.html$ /search.php?var1=$1&var2=$2 [L]
RewriteRule ^([^_]*)\.html$ /search.php?var1=$1 [L]
Se vuoi mantenere questa struttura di URL un altro modo non c'è.
 
...

Già, altrimenti devo cambiare la struttura dei link per ogni combinazione.
Pensavo ci fosse un modo per far capire a Mr. htaccess di mantenere la stessa forma anche nel caso in cui manchi una o più variabili GET.
Pazienza, prevederò un valore sempre e comunque per tutte le variabili (magari uno zero); non mi metto a prevedere tutte le combinazioni possibili immaginabili...
...il tempo che non perdo magari lo utilizzo per studiarmi meglio il file htaccess.

Ne ho visti di peggio, ma non è il massimo della bellezza però avere indirizzi come questi, anche in un'ottica di indicizzazione:

sito.com/0/0/terza.html oppure
sito.com/prima/0/terza.html oppure
sito.com/prima/seconda/0.html

(sito.com/search.php?var1=prima&var2=seconda&var3=terza)


Grazie comunque Alessandro
A presto.
 

Discussioni simili