Oui. L'astuce consiste à écrire un RewriteRule qui remplace un caractère (signe égal ou esperluette) par une barre oblique, puis utiliser le drapeau "suivant" qui redémarre le processus de réécriture.
Ce qui suit pourrait être un bon endroit pour commencer:
RewriteRule ^/index.php - [chain]
RewriteRule ^(.*)[=&](.*)$ $1/$2 [next]
RewriteRule ^/index.php\? "/"
Si je suis arrivé ce droit, la première règle ne fera rien, mais ne fonctionne que si le chemin commence par « index.php ». L'option "chaîne" signifie que la deuxième règle ne sera pas exécutée à moins que la première règle ne corresponde. La deuxième règle va essayer de remplacer an = ou & par un /, et si elle réussit, elle redémarrera tout le processus de réécriture. La troisième règle, qui ne sera atteinte après que tous les = et & ont été remplacés, va supprimer le "/index.php?" au début.
Comme vous avez accepté ma réponse, je pense que vous devriez éditer votre question et changer les URL. Parce que ma solution réécrit en interne les requêtes du second formulaire au premier formulaire. – Gumbo