On 7 Jul 2012, at 3:37 PM, Massimo Di Pierro wrote:
> The rule you want is
>
> routes_in = [
> ('/$anything', '/appname/view/user/$anything')
> ]
>
> but before this rule you must make sure treat other URLs as exceptions
> (should not be mapped):
>
> routes_in = [
> ('/admin','/admin'),
> ('/admin/$anything','/admin/$anything'),
> ('/appname','/appname/default/index'),
> ('/appname/$anything','/appname/$anything'),
> ('/$anything', '/appname/view/user/$anything')
> ]
> routes_out = [(b,a) for (a,b) in routes_in]
>
> You may need more rules for other apps. username equal to appnames will not
> be allowed.
>
Likewise username equal to a controller in this app.
An alternative: map an alternative domain or subdomain to the vanity URLs.
u.domain.com, or udomain.com, or the like. Reserve that (sub)domain for vanity
URLs so there's no ambiguity.