Package: summit.debconf.org Severity: wishlist Tags: patch Please canonicalise meeting URLs with HTTP 301.
This will not only correctly redirect if the name changes, it also avoids "embarrassing" URLs such as: https://summit.debconf.org/debconf15/meeting/183/boring-and-tedious-talk Patch attached. Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
From ac27076470b2be01c2e07359986207dac8c63ab4 Mon Sep 17 00:00:00 2001 From: Chris Lamb <la...@debian.org> Date: Thu, 30 Jul 2015 13:11:39 +0100 Subject: [PATCH] Canonicalise meeting URLs with HTTP 301 This will not only correctly redirect if the name changes, it also avoids "embarrassing" URLs such as: https://summit.debconf.org/debconf15/meeting/183/boring-and-tedious-talks Signed-off-by: Chris Lamb <la...@debian.org> --- summit/schedule/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/summit/schedule/views.py b/summit/schedule/views.py index 595dc3f..ed28c17 100644 --- a/summit/schedule/views.py +++ b/summit/schedule/views.py @@ -18,7 +18,7 @@ import datetime from django.db.models import Q from django.contrib.auth import logout -from django.http import Http404, HttpResponse, HttpResponseRedirect +from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponsePermanentRedirect from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.core.urlresolvers import reverse @@ -457,6 +457,9 @@ def tracks(request, summit): @summit_required def meeting(request, summit, attendee, meeting_id, meeting_slug): meeting = get_object_or_404(summit.meeting_set, id=meeting_id) + # Canonicalise + if meeting_slug != meeting.slug: + return HttpResponsePermanentRedirect(meeting.get_meeting_page_url()) if meeting.private and not meeting.can_view_pm(attendee): raise Http404 return _show_meeting(request, summit, meeting, attendee) -- 2.1.4