I would also really like to do this as well. I want to have https://www.alexsbrown.com/index.html still appear to be that URL, but to serve up the same result as https://www.alexsbrown.com/. Right now I use the following redirects (plus the DirectoryIndex command to avoid creating problems):
DirectoryIndex index.php index.html
Redirect permanent /index.html https://www.alexsbrown.com/
Redirect permanent /index.htm https://www.alexsbrown.com/
All these are in the .htaccess file.
I have other rewrites, and I would love it if WordPress could do something similar. For instance, this one makes “newsletter.html” (not a real web page) appear to be a real web page, serving up my newsletter home page from a cgi script:
RewriteRule ^newsletter.html$ /cgi-bin/mail.cgi?f=list&l=ASB_News [L]
I realize that WordPress somehow detects the incoming URL in the index.php, and slices that apart to figure out where the person was going and what information to send back. I cannot figure out how to feed something new in, so that a URL will get special treatment. I suspect that the environment variables REQUEST_URI and PATH_INFO have something to do with it, so I tried the following:
RewriteRule ^/index\.htm.*$ /index.php [E=REQUEST_URI:blah,E=PATH_INFO:test,L]
That did not work. I put some test code into my main page to echo back the contents of REQUEST_URI and PATH_INFO, and they reflected the URL that I had entered in the browser, not the values in the RewriteRule.
Any ideas on how to trick WordPress into responding to one URL as if it were another?