misc: don't use permanent redirect for moved pages (#25390)
This commit is contained in:
parent
a745d98e7a
commit
7137203480
|
@ -363,7 +363,7 @@ def page(request):
|
||||||
return HttpResponsePermanentRedirect(url + '/')
|
return HttpResponsePermanentRedirect(url + '/')
|
||||||
redirect = Redirect.objects.filter(old_url=url).last()
|
redirect = Redirect.objects.filter(old_url=url).last()
|
||||||
if redirect:
|
if redirect:
|
||||||
return HttpResponsePermanentRedirect(redirect.page.get_online_url())
|
return HttpResponseRedirect(redirect.page.get_online_url())
|
||||||
raise Http404()
|
raise Http404()
|
||||||
|
|
||||||
return publish_page(request, page)
|
return publish_page(request, page)
|
||||||
|
|
|
@ -603,28 +603,28 @@ def test_redirects(app):
|
||||||
redirect = Redirect(old_url='/whatever/', page=page3)
|
redirect = Redirect(old_url='/whatever/', page=page3)
|
||||||
redirect.save()
|
redirect.save()
|
||||||
|
|
||||||
assert urlparse(app.get('/whatever/', status=301).location).path == '/second/third/'
|
assert urlparse(app.get('/whatever/', status=302).location).path == '/second/third/'
|
||||||
assert urlparse(app.get('/whatever', status=301).location).path == '/whatever/'
|
assert urlparse(app.get('/whatever', status=301).location).path == '/whatever/'
|
||||||
|
|
||||||
# check the most recent redirect is called
|
# check the most recent redirect is called
|
||||||
redirect = Redirect(old_url='/whatever/', page=page2)
|
redirect = Redirect(old_url='/whatever/', page=page2)
|
||||||
redirect.save()
|
redirect.save()
|
||||||
assert urlparse(app.get('/whatever/', status=301).location).path == '/second/'
|
assert urlparse(app.get('/whatever/', status=302).location).path == '/second/'
|
||||||
|
|
||||||
# rename page
|
# rename page
|
||||||
page3.slug = 'third2'
|
page3.slug = 'third2'
|
||||||
page3.save()
|
page3.save()
|
||||||
assert app.get('/second/third2/', status=200)
|
assert app.get('/second/third2/', status=200)
|
||||||
assert urlparse(app.get('/second/third/', status=301).location).path == '/second/third2/'
|
assert urlparse(app.get('/second/third/', status=302).location).path == '/second/third2/'
|
||||||
|
|
||||||
page2.slug = 'second2'
|
page2.slug = 'second2'
|
||||||
page2.save()
|
page2.save()
|
||||||
assert urlparse(app.get('/second/third/', status=301).location).path == '/second2/third2/'
|
assert urlparse(app.get('/second/third/', status=302).location).path == '/second2/third2/'
|
||||||
assert urlparse(app.get('/second/third2/', status=301).location).path == '/second2/third2/'
|
assert urlparse(app.get('/second/third2/', status=302).location).path == '/second2/third2/'
|
||||||
assert urlparse(app.get('/second/', status=301).location).path == '/second2/'
|
assert urlparse(app.get('/second/', status=302).location).path == '/second2/'
|
||||||
|
|
||||||
# change parent
|
# change parent
|
||||||
page3.parent = None
|
page3.parent = None
|
||||||
page3.save()
|
page3.save()
|
||||||
assert urlparse(app.get('/second/third/', status=301).location).path == '/third2/'
|
assert urlparse(app.get('/second/third/', status=302).location).path == '/third2/'
|
||||||
assert urlparse(app.get('/second2/third2/', status=301).location).path == '/third2/'
|
assert urlparse(app.get('/second2/third2/', status=302).location).path == '/third2/'
|
||||||
|
|
Loading…
Reference in New Issue