David Binger wrote: > Another interesting test would be to comment out lines in > StaticFile that set headers. Commenting out this line gets rid of the internal server error: response.set_header('Last-Modified', last_modified) However, the images/stylesheet still come and go. This very conservative method gets rid of the image problem sometimes but not always. def __call__(self): if not self.follow_symlinks and os.path.islink(self.path): raise errors.TraversalError(private_msg="Path %r is a symlink" % self.path) #stat = os.stat(self.path) #last_modified = formatdate(stat.st_mtime) #request = quixote.get_request() response = quixote.get_response() #if last_modified == request.get_header('If-Modified-Since'): # # handle exact match of If-Modified-Since header # response.set_status(304) # return '' # Set the Content-Type for the response and return the file's contents. response.set_content_type(self.mime_type) #if self.encoding: # response.set_header("Content-Encoding", self.encoding) #response.set_header('Last-Modified', last_modified) #if self.cache_time is None: # response.set_expires(None) # don't set the Expires header #else: # # explicitly allow client to cache page by setting the Expires # # header, this is even more efficient than the using # # Last-Modified/If-Modified-Since since the browser does not need # # to contact the server # response.set_expires(seconds=self.cache_time) #return FileStream(open(self.path, 'rb'), stat.st_size) f = open(self.path, 'rb') content = f.read() f.close() return content I have to set the content type, otherwise the stylesheet goes out the window completely. Also, with the standard SessionManager that uses a dictionary, if I reload a static page a couple of times, it forgets I'm logged in (session.user is None). Because my application traps this and redirects to the login page, I have to keep re-logging in. I had to comment the redirect code to test the static pages. I've been using DirMapping but switched to the standard SessionManager yesterday to rule out file problems. I just switched back to DirMapping and the problem seems to be gone. It's not losing the entire session, just the User object. If I restart the server, I get the usual "session expired" message, but that's to be expected.