Moving to the "not PHP" forum, and suggesting a search of the forums on the subject of "url rewriting".
Oh, and the use of mod_rewrite to to URL rewriting at the server level is exactly what the module is for; while relating resources to resoure locators also the server's job, so that's exactly where it should be done.
The performance hit is in using .htaccess instead of httpd.conf; if .htaccess files are being used, Apache has to find, read and parse all .htaccess files that might be relevant when doing URL resolution.