fix behavior of trailing slash redirection when a query string is involved (closes #23112)

This commit is contained in:
Benjamin Peterson 2014-12-26 10:53:43 -06:00
parent 8c4e112afc
commit 94cb7a2429
3 changed files with 15 additions and 2 deletions

View file

@ -701,10 +701,14 @@ class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
path = self.translate_path(self.path)
f = None
if os.path.isdir(path):
if not self.path.endswith('/'):
parts = urllib.parse.urlsplit(self.path)
if not parts.path.endswith('/'):
# redirect browser - doing basically what apache does
self.send_response(301)
self.send_header("Location", self.path + "/")
new_parts = (parts[0], parts[1], parts[2] + '/',
parts[3], parts[4])
new_url = urllib.parse.urlunsplit(new_parts)
self.send_header("Location", new_url)
self.end_headers()
return None
for index in "index.html", "index.htm":