From 6bc10248f5f8e485ff796165f11da15be8867250 Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Sat, 9 Mar 2013 00:26:12 -0800 Subject: [PATCH] Redirect /u/foo/m/bar to /user/foo/m/bar. --- r2/r2/config/routing.py | 4 +++- r2/r2/controllers/redirect.py | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/r2/r2/config/routing.py b/r2/r2/config/routing.py index 8013478d1..bd0fa4a31 100644 --- a/r2/r2/config/routing.py +++ b/r2/r2/config/routing.py @@ -126,13 +126,15 @@ def make_map(): where='overview') mc('/user/:username/:where', controller='user', action='listing', where='overview') - mc('/u/:username', controller='redirect', action='user_redirect') mc('/user/:username/m/:multi', controller='hot', action='listing') mc('/user/:username/m/:multi/new', controller='new', action='listing') mc('/user/:username/m/:multi/:sort', controller='browse', sort='top', action='listing', requirements=dict(sort='top|controversial')) + mc('/u/:username', controller='redirect', action='user_redirect') + mc('/u/:username/*rest', controller='redirect', action='user_redirect') + # preserve timereddit URLs from 4/1/2012 mc('/t/:timereddit', controller='redirect', action='timereddit_redirect') mc('/t/:timereddit/*rest', controller='redirect', diff --git a/r2/r2/controllers/redirect.py b/r2/r2/controllers/redirect.py index d84173809..2cc7501b9 100644 --- a/r2/r2/controllers/redirect.py +++ b/r2/r2/controllers/redirect.py @@ -29,11 +29,14 @@ class RedirectController(BaseController): def GET_redirect(self, dest): return redirect_to(str(dest)) - def GET_user_redirect(self, username): + def GET_user_redirect(self, username, rest=None): user = chkuser(username) if not user: abort(400) - return redirect_to("/user/" + user, _code=301) + url = "/user/" + user + if rest: + url += "/" + rest + return redirect_to(str(url), _code=301) def GET_timereddit_redirect(self, timereddit, rest=None): tr_name = chksrname(timereddit)