Comment encoder les caractères spéciaux à l'aide de mod_rewrite & Apache?

Je voudrais avoir des URLs propres pour mon système de marquage le long avec tous les caractères spéciaux: +, &, #, %, et =. Est-il un moyen de le faire avec mod_rewrite sans avoir à double-encoder les liens?

Je remarque que delicious.com et stackoverflow semblent être en mesure de traiter séparément codé en caractères spéciaux. Quelle est la formule magique?

Voici un exemple de ce que je veux:

http://www.foo.com/tag/c%2b%2b

Déclencherait la suite RewriteRule:

RewriteRule ^tag/(.*)   script.php?tag=$1

et la valeur de la balise serait "c++"

Le fonctionnement normal de l'apache/mod_rewrite ne fonctionne pas comme ça, comme il semble à son tour le signe plus dans des espaces. Si je double coder le signe plus à '%252B' puis-je obtenir le résultat souhaité - mais il s'agit d'une malpropre URL et semble assez hacky pour moi.

InformationsquelleAutor Aldie | 2009-01-19