Link to extensionless URLs from your pages.
Redirect requests for the old URLs with extensions to the new extensionless URLs. A redirect is a URL to URL translation.
Rewrite requests for extensionless URLs to the internal filepath that will serve the content. A rewrite is a URL to filepath translation.
Use a RewriteRule for the redirect and another RewriteRule for the rewrite. The syntax is only slightly different for these these two different functions.
List all redirects before the rewrites start.
While pages might have extensionless URLs the files on the hard drive do still need to have an extension.