I have apache linked with tomcat with mod_jk. I use mod_rewrite to hide actual links.
So, i have the following rule:
RewriteRule ^/(.*)-genre-(.*)-subgenre-ringtones$ /ringtone/home.do?catName=$2&parentCatName=$1 [PT,NE]
this rule must extract catName and parentCatName parameters and pass to tomcat's /ringtone/home.do
when parameters contains special characters, apache either corrupts them or misses at all. Here are 2 example URLs:
http://ringtones.thumbplay/test-genre-ok+%26+ok-subgenre-ringtones
parentCatName passes ok and equals to "test"
catName is corrupted and equals to "ok" (without & ok)
Second example:
http://ringtones.thumbplay/test-genre-ugly+%23%25'+%40+chars-subgenre-ringtones
parentCatName passes ok and equals to "test"
catName missed at all, but should equal to "ugly #%' @ chars"