Perhaps your web server is providing the correct SCRIPT_NAME,
and the problem is introduced in Publisher.process(), which attempts
to work around a common, similar SCRIPT_NAME/PATH_INFO problem in
a way that would make matters worse for your setup.

Here's the code I am talking about:

    def process(self, stdin, env):
        """
        Return a Hit with a complete response.
Subclasses that want to customize the Hit class may do so by overriding
        this method.
        """
        if env.get('SCRIPT_NAME') and env.get('PATH_INFO') == '':
# The "script" here is your QP application, so the SCRIPT_NAME
            # should be the part of the url, after the host name, that
            # causes requests to be handled by your QP application.
            # The PATH_INFO part of the path after the SCRIPT_NAME.
# We expect applications running at the top of the URL space
            # to get requests where the SCRIPT_NAME is the empty string
            # and the PATH_INFO starts with a '/'.

# Your HTTP server is not providing the expected CGI environment. # The full path part of the URL is being put in the SCRIPT_NAME. # We'll try to make it work anyway, but we are assuming here # that your application is running at the top of your URL space. # If you want your application to run somewhere else in your URL # space, you must change your server so that it provides the # correct environment variables. Alternatively, your publisher # class can override this method and hack the environment as
            # needed to fit QP's expectations.
            env['PATH_INFO'] = env['SCRIPT_NAME']
            env['SCRIPT_NAME'] = ""
        hit = Hit(stdin, env)
        self.process_hit(hit)
        return hit

In your case, I think you could try overriding this method and
changing any empty PATH_INFO to "/" and removing the "if" statement that
appears above.

Even easier, perhaps, would be to put a redirect in your web server config
so that '/app.cgi' always redirects to '/app.cgi/' before qp sees it.


_______________________________________________
QP mailing list
[email protected]
http://mail.mems-exchange.org/mailman/listinfo/qp

Reply via email to