Siem:
... No info in the debug logs, the ones in /logs/ the ones in /logs/ultimate_urls/ after saying in the admin interface I want the ultimate urls debug logs turned on, and also nothing in the regular error logs elsewhere on the server.
This is very disconcerting. Can you verify the user your web server runs as has access to write to "/logs/" (usually www-data on Debian)? Can you verify the user you are using to access the web server's filesystem has read access to "/logs/" (and sub-directories and files)?
What version of PHP is in use on the web server (Zen Cart Admin -> Version)? What bridge is being used to communicate between Apache2 <==> PHP (libapache2-mod-php5, libapache2-mod-php5filter, libapache2-mod-suphp, libapache2-mod-fcgid, libapache2-mod-scgi, etc)? Is the filesystem local or accessed over a network (NFS, SMB, etc)?
lat9:
@Siem, I've modeled your settings in a local test site, setting*** Alternate URLs end with*** to blank like you have. With that setting, the default .htaccess file and enabling the language sidebox, I get a link that looks like http://localhost/testsite/index?language=en which properly displays, when clicked, the main page. ...
Same in all of my test environments. The following snippet found at the end of the ".htaccess" file you supplied tells mod_rewrite (Apache2) to send a request for "/index?language=en" internally to "/index.php?main_page=index&language=en".
RewriteRule ^(.*)$ index\.php?main_page=$1&%{QUERY_STRING}
It appears your server is not processing this mod_rewrite directive for some reason when the URI "/index" is requested...
Can you check your server configuration (and VirtualHost configurations) to ensure no other directives are interfering? Do you have mod_security or mod_pagespeed installed / enabled? Can you verify there are no .htaccess files in parent directories (for example if the root is set to "/var/www/www4/", check "/var/www/.htaccess"). It is not uncommon for the "default" site to cause some issues if left enabled when serving multiple name based virtual hosts from on the same server (and nesting roots).
If your server has "mod_negotiation" enabled (usually the default on Debian) and you have a directory or file starting with "index" in the root folder (other than "index.php" - rare as none are included with a stock install of Zen Cart), this can also cause issues (delete the file / folder or disable "mod_negotiation" in the first section of the .htaccess file using "Options -MultiViews").