Shahms, Thank you! I have tested both cases: in a VirtualHost, and in a LocationMatch. There was only one hitch. I didn't have a DocumentRoot, so the default was passed in to the VirtualHost. It didn't have a trailing slash. It seems if you have any DocumentRoot without a trailing slash, the script puts doc_root and script_name together missing a slash between the two. I fixed it by adding a line in your build_cgi_env method like so: doc_root = env.get('DOCUMENT_ROOT') if (doc_root[-1] <> "/"): doc_root = doc_root + "/" Which takes the doc_root and ensures there is a trailing slash. That caused the following comparison to work, and everything else works great. if doc_root + script_name[1:] == filename: Thanks again for the patch! I'll continue running with this and if I discover any other issues, I'll let you know. It seems to be running great! Regards, Eric Shahms King said: > Attached is a patch which "fixes" Quixote and mod_python when used from > a VirtualHost or Directory directive. I've tested it using both typical > and bizarrely 'Alias'ed setups inside and outside of virtual hosts and > everything I found works correctly. I'm not making any promises though > ;-P Essentially, it tries to figure out what parts of 'SCRIPT_NAME' > really belong in PATH_INFO and moves them accordingly. After that it > checks to see if the current script is being served from 'DOCUMENT_ROOT' > and, if so, assumes it's handling the entire site and sets up > SCRIPT_NAME and PATH_INFO accordingly. I'd appreciate some testing. > > The second "hunk" of the patch fixes the config file reading, and I've > heard that's already been changed in CVS. > -- > Shahms King>