L'url rewriting in generale è una tecnica molto importante per disaccoppiare gli url delle request e l'applicativo che sostiene un sito. Io utilizzo tuckey al livello di webapp e mod_rewrite a livello di http server.
Il modulo di rewrite di apache in particolare è un portento ma è un poco ostico da debuggare fintanto che non utilizzi

<IfModule mod_rewrite.c>
RewriteLog "logs/rewrite.log"
RewriteLogLevel 3
IfModule>

L'ultima rewrite che ho scritto serve a ridirigere il browser su un url che contiene esplicitamente il locale di navigazione in modo che i crawler (... si è sempre il seo a creare problemi ...) indicizzino correttamente per lingua:

RewriteCond %{HTTP_COOKIE} locale=([^;]+) [NC]
RewriteRule ^/$ /site/%1 [R=301]

Questa volta le fonti sono
  1. Fresh .htaccess Examples: Cookies, Variables, Custom Headers
  2. A Couple Ways to Debug mod_rewrite