summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2012-03-02 22:35:26 +0000
committerJannis Leidel <jannis@leidel.info>2012-03-02 22:35:26 +0000
commit126d9e1b499663e72cc795906bdbcd333aceaf0a (patch)
tree8aba4dea4c5f579688be2355233e7ee1056f2e20 /django
parentb9bf7cce896a4886f77b2162042a6fb676463b86 (diff)
Fixed #17817 -- Modified LocalMiddleware to use full URLs when redirecting to i18n URLs. Thanks to Paul for keeping an eye on the standards.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17633 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/middleware/locale.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/django/middleware/locale.py b/django/middleware/locale.py
index 77113e2987..628782b181 100644
--- a/django/middleware/locale.py
+++ b/django/middleware/locale.py
@@ -33,9 +33,12 @@ class LocaleMiddleware(object):
language_path = '/%s%s' % (language, request.path_info)
if settings.APPEND_SLASH and not language_path.endswith('/'):
language_path = language_path + '/'
+
if is_valid_path(language_path, urlconf):
- return HttpResponseRedirect(
- '/%s%s' % (language, request.get_full_path()))
+ language_url = "%s://%s/%s%s" % (
+ request.is_secure() and 'https' or 'http',
+ request.get_host(), language, request.get_full_path())
+ return HttpResponseRedirect(language_url)
translation.deactivate()
patch_vary_headers(response, ('Accept-Language',))