Ooops! I guess it was mod-rewrite and not .htaccess... well, I said I'm not a UNIX guy and that proves it...!
No, with these programs you do NOT have to change your code.
Here's a simple way to explain what happens:
When the server sends a page, it looks at the URLs on the page.
When it sees "www.domain.com/product.php?code=11"
It says, oops, there's work to do, and turns it into something like this:
When someone clicks on the link and requests the page from the server, the process is reversed.
I think you CAN change your site URLs if you wanted to, so they were "right" from the start, but I don't think you gain much and if the conversion process changes then your code would have to change. The nice thing about this is that if the server is sent the old or new URL format, they both work, so whatever links you have will not be lost and disabled by this change.