> > routes_in = ( > (r'^/?$', r'/app_name/default/index'), > (r'^/(?P<url>[^/]*)/?$', r'/app_name/default/index/\g<url>'), > > ) > > > in your root-level routes.py The drawback is that you will lose access to > all other apps (including admin) but that can be a good thing for public > deployments. >
You can catch the other apps by adding route patterns that match them before your catch-all pattern (the patterns are processed in order, and the first match is used). Anyway, using the parametric router and specifying the url-shortening app as the default app might be simpler: routers = dict( BASE = dict( default_application = 'shortener', default_controller = 'default', default_function = 'index', ), ) Then http://myapp.com/tcgata will get routed to http://myapp.com/shortener/default/index/tcgata, and "tcgata" will be available to the index() function in request.args(0). Anthony