Index: quixote/demo/root.ptl =================================================================== --- quixote/demo/root.ptl (revision 26574) +++ quixote/demo/root.ptl (working copy) @@ -9,10 +9,17 @@ from quixote.util import dump_request from quixote.demo.extras import ExtraDirectory +import mimetypes +mimetypes.add_type('text/html', '.en') + class RootDirectory(Directory): _q_exports = ["", "simple", "plain", "error", "publish_error", "css", - "dumpreq", "extras", ("favicon.ico", "favicon_ico")] + "dumpreq", "extras", ("favicon.ico", "favicon_ico"), + 's'] + from quixote.util import StaticDirectory + s = StaticDirectory('/var/www/apache2-default', list_directory=True, + index_filenames=['index.html', 'index.html.en']) def _q_index [html] (self): print "debug message from the index page" Index: quixote/server/scgi_server.py =================================================================== --- quixote/server/scgi_server.py (revision 26574) +++ quixote/server/scgi_server.py (working copy) @@ -18,16 +18,15 @@ input = conn.makefile("r") output = conn.makefile("w") env = self.read_env(input) + path = env['SCRIPT_NAME'] + if self.script_name is None: + env['SCRIPT_NAME'] = '' + else: + env['SCRIPT_NAME'] = self.script_name + assert path.startswith(self.scriptname) + path = path[len(self.scriptname):] + env['PATH_INFO'] = path + env.get('PATH_INFO', '') - if self.script_name is not None: - # mod_scgi doesn't know SCRIPT_NAME :-( - prefix = self.script_name - path = env['SCRIPT_NAME'] - assert path[:len(prefix)] == prefix, ( - "path %r doesn't start with script_name %r" % (path, prefix)) - env['SCRIPT_NAME'] = prefix - env['PATH_INFO'] = path[len(prefix):] + env.get('PATH_INFO', '') - request = HTTPRequest(input, env) response = self.publisher.process_request(request) try: