Originariamente inviato da Fabio Heller
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

Non ho capito come mai non ci sia la copia cache ?? Se il motore prende l'url perche non ci dovrebbe essere la cache ?