Oh, i see, I misunderstood that part of route .. My fault, sorry... Michal
mdipierro wrote: > There is no port number in routes in because it would not make sense. > If the server got the request the port matched already. > > Massimo > > On Apr 17, 6:10 am, Michal Jursa <[email protected]> wrote: >> Correct me if i'm wrong, but port numbers are usually nubers so this >> regexp cannot match i think as you have [a-z]+ after : in url. Isn't >> this your trouble? >> >> routes_in = ('^.*?:https?://localhost:[a-z]+/$','/my_app/default/index'), ) >> >> Michal >> >> Mladen Milankovic wrote: >>> Hi. >>> I'm testing things out and I think got a bug. >>> I'm trying to get root on localhost to show /my_app/default/index page and >>> not >>> the example, so I wrote: >>> routes_in = (('^.*?:https?://localhost:[a-z]+ /$', >>> '/my_app/default/index'), ) >>> It didn't work, and I throw in some logging. I watched what will be the key >>> before it's converted to regex. It gave: >>> ^.*?:https?:https?://[^:/]+:[a-z]+ //localhost:[a-z]+ /$ >>> Problem is in >>> line 45, in rewrite.py >>> if k.find(':/') > 0: >>> This line is determining if the definition is in the old format: >>> '.*:/favicon.ico'. >>> Problem is that in the new definition :/ can be found again, but it has a >>> different meaning. >>> It can be done in many different ways. I used this one: >>> if k.find(':/') > 0 and not k.find('://'): >>> This way it will match only the old definition and skip the new one. >>> regards >>> mmlado >>> On Thursday 16 April 2009 19:57:47 mdipierro wrote: >>>> A request comes in and you want to redirect it to a controller action >>>> filtering by >>>> - IP of client (for example 127.0.0.1) >>>> - requested protocol (for example http or http "(http|https)"" >>>> - requested hostname (for examplewww.web2py.com) >>>> - type of request (for example get or post "(get|post)") >>>> - requested URL (for example "/test") >>>> You would capture it with >>>> "^[client]:[protocol]://[hostname]:[method] [url]$" >>>> in the example >>>> "^127.0.0.1:(http|https)://www.web2py.com:(get|post) /test" >>>> Now you can map this into for example "/welcome/default/index" with >>>> routes.py >>>> routes_in=(("^127.0.0.1:(http|https)://www.web2py.com:(get|post) / >>>> test", "/welcome/default/index"),) >>>> I can see writing an entire book in this only. >>>> Can you figure out what this does? >>>> routes_in=(("^127.0.0.1:$a://www.web2py.com:(get|post) /test/$b", "/ >>>> welcome/default/$b?method=$a"),) >>>> and this? >>>> routes_in=(("^127.0.0.1:$a://www.web2py.com:(get|post) /test/(? >>>> P<b>.*)", "/welcome/default/$b?method=$a"),) >>>> I know it is ugly but 1) it works; 2) it very powerful when compared >>>> with routes on rails and urls in Django; 3) is is backward compatible. >>>> Does not anybody remember that I never wanted to add this to web2py? >>>> Now you know why. >>>> Massimo > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

