Didn't Apache2 also see some performance penalty due to them also allowing you to have configuration in .htaccess files which must be read in a similar way: <a href="https://httpd.apache.org/docs/current/howto/htaccess.html#when" rel="nofollow">https://httpd.apache.org/docs/current/howto/htaccess.html#wh...</a> (you can disable that and configure the web server similarly to how you would with Nginx, just config file(s) in a specific directory)<p>The likes of try_files across a bunch of web servers are pretty convenient though, as long as the performance penalty doesn't become a big deal.<p>Plus, I've found that it's nice to have api.myapp.com and myapp.com as separate bits of config, so that the ambiguity doesn't exist for anything that's reverse proxied and having as much of the static assets (for example, for a SPA) separate from all of that. Ofc it becomes a bit more tricky for server side rendering or the likes of Ruby on Rails, Laravel, Django etc. that try to have everything in a single deployment.