1
0
mirror of https://github.com/django/django.git synced 2024-12-25 10:35:48 +00:00

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

View File

@ -1,8 +1,10 @@
import md5
import re
from django.conf import settings from django.conf import settings
from django import http from django import http
from django.core.mail import mail_managers from django.core.mail import mail_managers
import md5 from django.utils.http import urlquote
import re
class CommonMiddleware(object): class CommonMiddleware(object):
""" """
@ -46,9 +48,9 @@ class CommonMiddleware(object):
if new_url != old_url: if new_url != old_url:
# Redirect # Redirect
if new_url[0]: 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: else:
newurl = new_url[1] newurl = urlquote(new_url[1])
if request.GET: if request.GET:
newurl += '?' + request.GET.urlencode() newurl += '?' + request.GET.urlencode()
return http.HttpResponsePermanentRedirect(newurl) return http.HttpResponsePermanentRedirect(newurl)