I'll take door number 4, if you don't mind...
4. Link to the new pages as "page-name", not "page-name.html" or "page-name.php". Then internally rewrite those extensionless URLs to php and/or html files as appropriate. Finally, 301-redirect the old URLs to the new extensionless URLs to recover your existing PageRank/Link-popularity.
In this way, you will never have to deal with the issue of a server technology change affecting your URLs again.
Note that URLs and filenames are two different resource-location mechanisms, for use on the Web and inside the server's filesystem, respectively. The resource names used by these two mechanisms need not be equivalent or even directly-related; You can use Apache mod_rewrite or ISAPI Rewrite on IIS to "associate" URLs with seemingly-unrelated filenames.
In this case, the simplest approach is simply to drop the "file type extension" from the URL. Tis will result in retention of any keyword-in-URL factors you may currently have, and simply both the on-page-link conversion process and the URL-to-filename rewriting code.
A word from Sir Tim Berners-Lee [w3.org], inventor of the hyperlink.
By the way, a common error is to link to "page-name/" rather than simply to "page-name". This is unnecessary and possibly confusing since in HTTP, a trailing slash indicates a directory listing or a directory index page, while the absence of a trailing slash indicates a page.