Fixed #5762 -- Quoted the portions that make up the URL when appending

"www." or adding a trailing slash in common middleware.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6553 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2007-10-20 08:31:05 +00:00
parent cb38521487
commit 5ef7c4c525
1 changed files with 6 additions and 4 deletions

View File

@ -1,8 +1,10 @@
import md5
import re
from django.conf import settings
from django import http
from django.core.mail import mail_managers
import md5
import re
from django.utils.http import urlquote
class CommonMiddleware(object):
"""
@ -46,9 +48,9 @@ class CommonMiddleware(object):
if new_url != old_url:
# Redirect
if new_url[0]:
newurl = "%s://%s%s" % (request.is_secure() and 'https' or 'http', new_url[0], new_url[1])
newurl = "%s://%s%s" % (request.is_secure() and 'https' or 'http', new_url[0], urlquote(new_url[1]))
else:
newurl = new_url[1]
newurl = urlquote(new_url[1])
if request.GET:
newurl += '?' + request.GET.urlencode()
return http.HttpResponsePermanentRedirect(newurl)