Index: twisted-web/twisted-web
===================================================================
--- twisted-web/twisted-web	(revision 867)
+++ twisted-web/twisted-web	(working copy)
@@ -10,6 +10,16 @@
 from twisted.internet import app
 from twisted.python import filepath
 
+class BugsRedirect(twutil.Redirect):
+    def __init__(self):
+        twutil.Redirect.__init__(self, '/trac/report')
+        
+    def getChild(self, name, request):
+        if name.startswith('issue'):
+            return twutil.Redirect('/trac/ticket/%s' % (name[5:],))
+
+        return twutil.Redirect.getChild(self, name, request)
+
 # Add useful extra extension -> content-type mapping entries
 static.File.contentTypes['.tac'] = 'text/plain'
 
@@ -59,7 +69,7 @@
 # These are only on (www.)twistedmatrix.com
 tm.putChild('buildbot', distrib.ResourceSubscription('unix', '/home/buildbot/.twistd-web-pb'))
 #tm.putChild('bugs', proxy.ReverseProxyResource('twistedmatrix.com', 8085, '/twisted'))
-tm.putChild('bugs', twutil.Redirect('/trac/report'))
+tm.putChild('bugs', BugRedirect())
 tm.putChild('trac', proxy.ReverseProxyResource('twistedmatrix.com', 9881, '/trac'))
 
 tm.putChild('twisted', twutil.ChildRedirector('http://twistedmatrix.com/bugs/'))
