For my site, I found that Apache's mod_rewrite function set did the job.
I have two domains and a host-provided subdomain. Using the RewriteCond and RewriteRule functions in my top-level .htaccess file allowed me to force a redirect whenever a visitor was trying to see my site using any URL other than my preferred one.
You ought to be able to use the same functions to alter the URL that your visitors go to. You can even use mod_rewrite to silently modify the URL that pages are fetched from, without causing the user's browser to redirect.
However, mod_rewrite must be compiled into Apache for you to use it, and it's not a simple set of functions. Make sure you read all about it before you edit your .htaccess file. (Of course, if you have access to the server config files, you'll edit those instead.)