[1] Consider a 16 bit executable cgi. For example, the program TEST.PAS compiled with Borland Pascal resulting in TEST.EXE:
begin WriteLn('Content-type: text/html'); WriteLn; WriteLn('<h1>The old Hello World test !</h1>'); end. [2] Consider the following lines in httpd.conf: ScriptAlias /cgi-bin/ "C:/Arquivos de programas/Apache Group/Apache/cgi-bin/" ScriptAlias /cgi-16/ "C:/Apache/cgi-16/" <Directory "C:/Arquivos de programas/Apache Group/Apache/cgi-bin"> AllowOverride None Options None </Directory> <Directory "C:/Apache/cgi-16"> AllowOverride None Options None </Directory> Note: Arquivos de Programas = Program Files (Portuguese) [3] Consider the following 2 requests: http://localhost/cgi-bin/teste.exe http://localhost/cgi-16/teste.exe [4] The first request (cgi-bin/teste.exe) gives access.log localhost - - [26/May/1999:13:32:09 -0300] "GET /cgi-bin/teste.exe HTTP/1.0" 500 602 error.log [Wed May 26 13:32:09 1999] [error] [client 127.0.0.1] Premature end of script headers: c:/arquivos de programas/apache group/apache/cgi-bin/teste.exe The second request (cgi-16/teste.exe) gives access.log localhost - - [26/May/1999:13:32:18 -0300] "GET /cgi-16/teste.exe HTTP/1.0" 200 37 There are no errors in this case and I can see a big "The old Hello World test !" in browser. [5] Under these evidences, I can suppose (a) Apache can't get the result of 16 bit executable cgi; OR (b) Windows98 (DOS) can't send the result through environment to Apache (a) or (b) occur when cgi directories have long or composed file name, for instance c:/program files/... c:/123456789/...