How to process only first path element in the URL as the CGI executable

Frank Church vfclists at gmail.com
Fri Oct 8 19:02:48 MSD 2010


I am using a FreePascal web module designed for apache cgi-bin  with nginx.

The CGI itself is called spidersample.cgi and contains modules such as
hello, bye etc.

With Apache when spidersample.cgi/hello is called, spidersample.cgi gets
executed, and passes control to the hello subroutine it contains.

With nginx instead of executing spidersample.cgi it treats
spidersample.cgi/hello as meaning a hello file in a spidersample.cgi
directory, and returns with a 404 error as there is no such directory.

I suspect it is an easily fixed problem with some rewrite rules in the
configuration file and it is posted below.

=============================================

  server {
    listen          8118;
    server_name     localhost;
    access_log      /var/log/nginx/sysman_access.log;
    index index.html;
    root  /home/rchurch/Data/Lazarus/CgiApps;

        location ~ \.cgi$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/tmp/sysman_cgi.sock;
                fastcgi_param  SCRIPT_FILENAME
$document_root$fastcgi_script_n$
                fastcgi_param  QUERY_STRING     $query_string;
                fastcgi_param  REQUEST_METHOD   $request_method;
                fastcgi_param  CONTENT_TYPE     $content_type;
                fastcgi_param  CONTENT_LENGTH   $content_length;
        }
  }

==================================================================






-- 
Frank Church

=======================
http://devblog.brahmancreations.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20101008/dc8fc522/attachment-0001.html>


More information about the nginx mailing list