There are two separate issues:

- routing: web2py will take cyrilling in a domain/url and remap into a
controller function

- request.env.http_host: this variable is passed to web2py by the wsgi
web server, in your pace probably rocket. web2py does not filter and
does not process this variable. Web2py uses request.env.http_host to
match the domain name in routing so it this is wrong, routing does not
work.

Are you using the built-in rocket?

Try start rocket without web2py

python gluon/rocket.py

There is a sample WSGI app at the bottom of this file (rocket.py)
print environ and check what it contains.



On Apr 17, 11:15 am, LightOfMooN <[email protected]> wrote:
> Web2py is on Ubuntu 10.4
> I have windows 7 (so, there is cp1251)
>
> So, if i check cyrillic value in app/controller/function/args/other
> like:
> (r'/\xd1\x80\xd0\xb8\xd0\xbb\xd1\x8d\xd0\xb9\xd0\xbd\.
> \xd1\x80\xd1\x84', r'/myapp/default/index')
> it works fine
>
> But if I check it in domain, like
> (r'.*://\xd1\x80\xd0\xb8\xd0\xbb\xd1\x8d\xd0\xb9\xd0\xbd\.
> \xd1\x80\xd1\x84:.* /?', r'/myapp/default/index')
>
> it doesn't work.
>
> I type in view {{=request.env.http_host}}
> and the result is:
> xn--h1acfjl4f.xn--p1ai
>
> Also if I try to pass some cyrillic string as args, it rises invalid
> request.
> So, it seems, that web2py can't work with cyrillic symbols in url for
> now :(
>
> On 17 апр, 21:58, Massimo Di Pierro <[email protected]>
> wrote:
>
>
>
>
>
>
>
> > what is the encoding? What is the os?
>
> > I do not think a domain may contain chars that are not expressible in
> > utf8 but I may be wrong.
>
> > On Apr 17, 10:51 am, LightOfMooN <[email protected]> wrote:
>
> > > request.env.http_host>> 'xn--h1acfjl4f.xn--p1ai'
>
> > > So, domain not in utf-8
> > > How to route it?
>
> > > On 17 апр, 21:47, LightOfMooN <[email protected]> wrote:
>
> > > > It's s strange
> > > > There is 2 rules
>
> > > > 1)
> > > > (r'.*://\xd1\x80\xd0\xb8\xd0\xbb\xd1\x8d\xd0\xb9\xd0\xbd\.
> > > > \xd1\x80\xd1\x84:.* /?', r'/myapp/default/index'),
>
> > > > 2)
> > > > (r'/\xd1\x80\xd0\xb8\xd0\xbb\xd1\x8d\xd0\xb9\xd0\xbd\.
> > > > \xd1\x80\xd1\x84', r'/myapp/default/index'),
>
> > > > 2nd works fine, but not 1st. I can't understand, why.

Reply via email to