Well, after some further reading on the net and thanks to Salman's answer, I figured out the answer to my problem :)
the code below will rewrite a dirty url to clear one ...
RewriteCond% {THE_REQUEST} ^. \? myparam = ([a-zA-Z] +).
RewriteRule ^ (. *) $ /% 1? [R = 301, L]
note that the question mark for "/% 1" is very important because placing it (on the target side of the redirect) will clear the query string.
after that the code below redirects the clean url to dirty without changing the url (still stays clean)
RewriteRule ^ ([a-zA-Z] +) $ / index.php? Myparam = $ 1 [L]
this will not cause an infinite loop due to the use of THE_REQUEST, which will only respond to your request, and not to server side redirection (I think)
you may need to read the mod_rewrite syntax manuals to customize it for your own needs.
Bruce source share