from django.conf.urls import patterns, include, url

user_match = "[A-Za-z0-9]+(?:[ _-][A-Za-z0-9]+)*"

urlpatterns = patterns('',
    url(r'^$', 'troposphere.views.root'),
    url(r'^application/emulate/(?P<username>(%s))[/]?$' % user_match, 'troposphere.views.emulate',
        name='emulate-user'),
    url(r'^application', 'troposphere.views.application', name='application'),
    url(r'^maintenance$', 'troposphere.views.maintenance', name='maintenance'),
    url(r'^forbidden$', 'troposphere.views.forbidden', name='forbidden'),
    url(r'^login$', 'troposphere.views.login'),
    url(r'^logout$', 'troposphere.views.logout'),
    url(r'^cas/oauth2.0$', 'troposphere.views.cas_oauth_service',
        name='cas_oauth_service'),
    url(r'^version$', 'troposphere.views.version'),
)

@@ -317,16 +317,20 @@
 lication
+%5B/%5D?
 ', 'trop
@@ -400,16 +400,20 @@
 ntenance
+%5B/%5D?
 $', 'tro
@@ -482,16 +482,20 @@
 orbidden
+%5B/%5D?
 $', 'tro
@@ -556,16 +556,20 @@
 r'%5Elogin
+%5B/%5D?
 $', 'tro
@@ -609,16 +609,20 @@
 '%5Elogout
+%5B/%5D?
 $', 'tro
@@ -669,16 +669,20 @@
 oauth2.0
+%5B/%5D?
 $', 'tro
@@ -747,24 +747,24 @@
 _service'),%0A
-
     url(r'%5Ev
@@ -769,16 +769,20 @@
 %5Eversion
+%5B/%5D?
 $', 'tro

Add support so routes to end with /. modified: troposphere/urls.py