My original post in this thread was a pretty accurate depiction of the scenario(s) I am actually facing. To recap:
First scenario: /sf404.aspx is specified as the 404 handler in IIS, and /errors/404.aspx (my custom 404 handling page) is specified as the 404 handler in the customErrors section of web.config.
1. Going to a non-existent, non-aspx page on my site (i.e. http://mymachine:188/eawf/efawefawef/wefawe/ewfae/fwefw/fwefw.html) takes me to the generic "File Not Found" page. This is a problem.
2. Going to a non-existent .aspx page on my site (i.e. http://mymachine:188/eawf/efawefawef/wefawe/ewfae/fwefw/fwefw.aspx) sends me to my custom 404 page (/errors/404.aspx) as expected.
3. Extensionless URL redirection (i.e. http://mymachine:188/schools/arizona redirecting to http://mymachine:188/schools/arizona/home.aspx) for Sitefinity-created pages works. This is handled by /sf404.aspx.
Second scenario: /errors/404.aspx (my custom 404 handling page) is specified as the 404 handler in the customErrors section of web.config, AS WELL AS the 404 handler in IIS.
1. Going to a non-existent, non-aspx page on my site (i.e. http://mymachine:188/eawf/efawefawef/wefawe/ewfae/fwefw/fwefw.html) takes me to my custom 404 page, as expected.
2. Going to a non-existent .aspx page on my site (i.e. http://mymachine:188/eawf/efawefawef/wefawe/ewfae/fwefw/fwefw.aspx) sends me to my custom 404 page (/errors/404.aspx) as expected.
3. Extensionless URL redirection (i.e. http://mymachine:188/schools/arizona redirects to http://mymachine:188/schools/arizona/home.aspx) for Sitefinity-created pages DOES NOT work, because it is handled by /sf404.aspx. In order to get this to work, I wrote a stored procedure to traverse the sf_PageBase table in the Sitefinity database and do this redirection manually.
I understand the ASP.NET ISAPI reasons, detailed in
this post, which are causing this, but that same post also mentioned the issue being fixed in 3.6.
So what I am saying is, URL rewriting (and similar solutions via the Sitefinity interface, such as the one that was originally posted by Randy in response to my first post) is aimed at me saying "when somebody goes to this particular URL, send them to this other URL." On the other hand, I want to say, "when someone goes to ANY nonexistent URL on my site, send them here (meaning my custom 404 page)." Meanwhile, I want to keep /sf404.aspx as the 404 handler in IIS because I want the extensionless URL redirection to work without having to manually decipher the Sitefinity database.