mirror of
https://github.com/wagtail/wagtail.git
synced 2024-12-01 11:41:20 +01:00
Issue #647
Update redirect middleware to try old_path without query string if we can't find a redirect for old_path with query string
This commit is contained in:
parent
ca92f5ede0
commit
aa80e61bef
@ -1,4 +1,5 @@
|
||||
from django import http
|
||||
from django.utils.six.moves.urllib.parse import urlparse
|
||||
|
||||
from wagtail.wagtailredirects import models
|
||||
|
||||
@ -12,13 +13,16 @@ class RedirectMiddleware(object):
|
||||
|
||||
# Get the path
|
||||
path = models.Redirect.normalise_path(request.get_full_path())
|
||||
path_without_query = urlparse(path)[2]
|
||||
|
||||
# Find redirect
|
||||
try:
|
||||
redirect = models.Redirect.get_for_site(request.site).get(old_path=path)
|
||||
except models.Redirect.DoesNotExist:
|
||||
# No redirect found, return the 400 page
|
||||
return response
|
||||
try:
|
||||
redirect = models.Redirect.get_for_site(request.site).get(old_path=path_without_query)
|
||||
except models.Redirect.DoesNotExist:
|
||||
return response
|
||||
|
||||
if redirect.is_permanent:
|
||||
return http.HttpResponsePermanentRedirect(redirect.link)
|
||||
|
Loading…
Reference in New Issue
Block a user