When I enable content negotiation using "Options MultiViews", and I try to access a resource without its full name (i.e. without filename extensions), only a certain set of environment variables is available to the resource. Some Apache-defined variables and any custom-defined (through SetEnv) variables are NOT available to the resource. This applies to SSI resources as well as to CGI resources. Try accessing http://test.io.link-m.de/apache2/env+content_negotiation/test-ssi.shtml and look the for custom-defined variable "__FOO__". It should have the value "barbarbar". Now try accessing http://test.io.link-m.de/apache2/env+content_negotiation/test-ssi and you will see that the "__FOO__" variable and some others (predefined by Apache) are missing. The same goes for http://test.io.link-m.de/apache2/env+content_negotiation/test-cgi.pl and http://test.io.link-m.de/apache2/env+content_negotiation/test-cgi Look at the .txt resources to see the source code of test-ssi.shtml and test-cgi.pl. Look at the apache2.conf and vhost.conf resources to see the Apache and vhost configuration. I'm not sure whether this is a mod_negotiation or a mod_env bug.
The request variables (POST and GET) are not passed either. This is a bug in mod_negotiation, which was solved in the Apache1 version in 2001. I saw it somewhere in the bugs archive, but the (very simple) source change cannot just be applied to the Apache2 module, as the source has changed much.
Just search the archives and find a bunch of error reports of the same problem, which should have been fixed in Apache 1.3.23 http://archive.apache.org/gnats/8628
What a brilliant bug report, with test links that are still valid today! The test links show that the reported bug is indeed fixed in the server version now in use.
Agreed, it seems to be fixed. Glad it's working now!