Finally figured out that the issue here is that there is no abstraction of the concept of ‘variable’ to include both variables and aliases. So everything depends on context and which command is being used - which creates redundant functionality and unpredictability.
Same for location etc.
This lack of ability to use and apply abstract concepts and constructs leads to a ton of ’special cases’ and ’special purpose’ one-off code. Very little is generalizable. And this seems to be OK and the way many people [I would call them junior] think - for example the recommended code to remove a leading www. from urls happens to remove ALL sub domains as well. I.E. special purpose but not narrowly defined. Oh boy.
No versions associated with the documentation, so you never know that ‘try_files’ does not work, for example, until you try it. Wasting some time.
Oh and what happened to plugins? This compiling in modules at compile time seems a bit … unwieldy. And no, it can’t be for speed… so… yes, generic plugin APIs are HARD [it is the ONLY thing that Eclipse got right (the code, the SWT, GED, it all sucks) and boy did they get it RIGHT. So it is not only hard, it can make a product very successful as well].
The pluses here, though, are pretty good error reporting [way better than Varnish so far] even though the error log appears to be missing a lot of debug information [I must be doing something wrong, where ‘notice’ and ‘debug’ have the same output]. I also presume that the reliability at its primary job of serving up data to clients is pretty high, based on its reputation.
Anyway, based on the popularity of all these newish web servers Mattters has changed the Apache channel to the Web Server Channel and we will add more links and support for Nginx and Varnish, Lighttpd etc over time