I'm actually surprised that the query string is not being preserved. I would guess that something is else is going on, other than prettyfaces. What version of PRettyFaces are you using? I'm also guessing that this is a problem with PrettyFaces, that this was a bug in the version you're using, but I think that's unlikely.
The only thing the url-mapping
you've pasted should do is perform an internal forward from "/" to "/jsp/index.jsf". It will not do any client redirection from "/index.jsf" to "/"; this is why I think there is something else at play here. (See the code for reference: https://github.com/ocpsoft/rewrite/blob/master/config-prettyfaces/src/main/java/org/ocpsoft/rewrite/prettyfaces/UrlMappingRuleAdaptor.java#L213)
With regard to stripping out certain query parameters and leaving others, then I highly suggest looking at the Rewrite framework (which is the new core of PrettyFaces), you can use it to build very custom rewriting rules: http://ocpsoft.org/prettyfaces/ and http://ocpsoft.org/rewrite/
I hope this helps.