Ciao utile pillola,
in particolare l'osservazione che ho quotato, mette in risalto l'unico neo del mod_rewite (che rimane il sistema più efficiente per la riscrittura degli url): non è possibile ottenere le coppie chiave-valore quando il numero di variabili passato non è conosciuto in anticipo (cosa invece possibile con la query string).
La soluzione è passare un'unica variabile che contenga una stringa da spezzare.
Visto che, quando il numero di valori non è noto in anticipo, comunque bisogna spezzare le stringhe attraverso PHP io preferisco usare la direttiva "action" di Apache, per ridirigere tutte le richieste ad un unico script (una specie di front controller che fa tutto).
Ad esempio
AddHandler rewriting1 .phtml
Action rewriting1 /path/controller.php
AddHandler rewriting2 .ext
Action rewriting2 /path/controller.php
In questo modo posso decidere che tutte le pagine con una data estensione vadano redirette a controller.php
e anche pagine inesistenti es.
dir/chiave1-valore1/chiave2-valore2/chiave3-valore3.phtml
Vengono inviate a controller.php che ricava chiavi e valori
Vantaggi: più semplice di mod_rewrite se si utilizza abitualmente un controller
Svantaggi: un unico script deve fare tutto e se non si utilizza già un controller meglio ricorrere a mod_rewite