M.: mod_rewrite mit & und ?

Beitrag lesen

Mahlzeit,
folgendes Problem:
Ich schreibe per mod_rewrite dioe Aufrufe auf eine Webseite um:

RewriteRule ^(.*)/$ /$1                                   [R=301]
RewriteRule ^([^/^.]+)$        /index.php?p[]=$1         [L,NE,QSA]
RewriteRule ^(.+)/([^/]+)$      /$1?p[]=$2                [L,NE,QSA]

Damit wird rekursiv jedes Parameter, unabhängig der Anzahl umgeschrieben. Funktioniert auch.
Wenn jetzt aber ein Parameter ein & oder ein ? enthält, wird es als ein neuer Parameter behandelt.
Ich habe das so gelöst, dass ich per PHP urlencode(urlencode($string)); ausführe.
Das klappt auch, nur würd mich interessieren, obs schöner und/oder eleganter geht.

Schonmal jemand ne schöne Lösung dazu entwickelt?