g1smd - 7:56 am on Jun 24, 2012 (gmt 0)
I want all visitors to see the .html version
No. Forget URLs for a moment. You want all visitors to be served content from the static files (and that's not quite the same thing). This is very easy to set up.
Wordpress will not be activated if you install a new rewrite before the wordpress rewrite and divert (internally rewrite) the extensionless request to a different place in the internal server filesystem - the place where the static HTML files are.
URLs and files are not at all the same thing. URLs are used "out there" on the web. Files are used "here" inside the server. The server configuration determines for a given URL request where inside the server the content is served from.
So, why not
- leave the on-page links pointing to extensionless URLs,
- save all the pages as static .html files and place them in a separate folder,
- set up a rewrite so that extensionless URL requests are rewritten to fetch content from the static files instead of from Wordpress?
This system has no redirects and no change of URL.
Since you'll still need to access the Wordpress system from time to time, build in a exception that allows you to do so. The simplest way is to detect the browser user agent and change the UA of your browser when you need access (use some random string that will never occur in a real user agent). The rewrite to the static files occurs only when the UA is not quuxfoowibble.
There's a market here for an extension to cache wordpress pages as static files and to manage their update when the core page content or any navigation is changed on a page.