Thanks Massimo for the reply , I tried with the comma at the end but no luck :(
I traced it back to the code where it was giving a 400 and found that its not able to match the regular expression in rewrite.py function regex_url_in line 542 , The regular expression for this is regex_url = re.compile(r''' (^( # (/a/c/f.e/s) /(?P<a> [\w\s+]+ ) # /a=app ( # (/c.f.e/s) /(?P<c> [\w\s+]+ ) # /a/c=controller ( # (/f.e/s) /(?P<f> [\w\s+]+ ) # /a/c/f=function ( # (.e) \.(?P<e> [\w\s+]+ ) # /a/c/f.e=extension )? ( # (/s) /(?P<r> # /a/c/f.e/r=raw_args .* ) )? )? )? )? /?$) ''', re.X) now it has \w which means it checks only for [A-Za-z0-9_] so a - or space will not be matched leading to 400 . I am using a workaround of replacing space/hyphens with underscore for now Thanks -Syed On Sun, May 1, 2011 at 11:44 AM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > yes > > routes_in = (( r'/$id/$name' , r'/app/default/view/$id/$name'), ) > routes_out = ( ( r'/app/default/view/$id/$name' , r'/$id/$name'), ) > > the extra comma at the end. ;-) > > > > On May 1, 12:58 am, Syed Mushtaq <syed1.mush...@gmail.com> wrote: > > Hi , > > > > I was using rewrite for making the URL reader friendly . When I use a > space > > or hypen in the URL instead of passing it to the controller , it gives an > > invalid request . > > > > I have configured the routes as follows > > > > routes_in = (( r'/$id/$name' , r'/app/default/view/$id/$name') ) > > > > routes_out = ( ( r'/app/default/view/$id/$name' , r'/$id/$name') ) > > > > Is there something I am missing ? > > > > Thanks > > -Syed >