Is it supported already?

I saw this:
http://web2py.com/book/default/chapter/04#Pattern-based-system (last 
example)
and 
http://stackoverflow.com/questions/7622961/defining-sub-domain-based-on-a-function-in-routes-py-of-web2py
that look like examples of web2py supporting subdomain routes.

I assumed openshift was messing with headers/env so the matching wasn't 
working.  I don't have a non-openshift web2py site to play with to test my 
assumption though.


On Sunday, September 8, 2013 6:42:48 AM UTC-7, Massimo Di Pierro wrote:
>
> Please open a ticket pointing to this. I think we should support something 
> like this in routes.py but it needs some more thought.
>
> On Sunday, 8 September 2013 00:00:03 UTC-5, Charles Law wrote:
>>
>> For completeness I have modified code in application:
>>
>> application_web2py = gluon.main.appfactory(wsgiapp=gluon.main.wsgibase,
>>                                            logfilename=WEB2PY_LOG,
>>                                            profilerfilename=None)
>>
>> def application(environ, start_response):
>>     fw = environ.get('HTTP_X_FORWARDED_HOST')
>>     if isinstance(fw, basestring):
>>         if fw.startswith('rapydscript'):
>>             if environ['PATH_INFO'] in ['', '/']:
>>                 environ['PATH_INFO'] = '/rapydscript' + 
>> environ['PATH_INFO']
>>         elif fw.startswith('rapydml'):
>>             if environ['PATH_INFO'] in ['', '/']:
>>                 environ['PATH_INFO'] = '/rapydml' + environ['PATH_INFO']
>>         elif fw.startswith('rapydcss'):
>>             if environ['PATH_INFO'] in ['', '/']:
>>                 environ['PATH_INFO'] = '/rapydcss' + environ['PATH_INFO']
>>
>>     return application_web2py(environ, start_response)
>>
>>
>>
>> On Friday, September 6, 2013 9:01:50 AM UTC-7, Charles Law wrote:
>>>
>>> We have a site with a subdomain that correctly gets forwarded to web2py 
>>> on openshift, but the page it hits is our default home page.  We want the 
>>> subdomains to go ti different functions on our default controller, but we 
>>> can't figure out how to do that with routes.  Included below is the current 
>>> routes file we have.  We would like to have visitors going to http(s)://
>>> rapydscript.pyjeon.com to visit our rapydscript function on the default 
>>> controller by default.  I tried looking at examples, and what I have below 
>>> I think should work, but users are just seeing the same content as 
>>> www.pyjeon.com under the rapydscript subdomain.  Is the file setup 
>>> incorrectly?  Does openshift do something odd?
>>> Thanks in advance for any help,
>>> Charles
>>>
>>> routes.py:
>>>
>>> default_application = 'pyjeon'    # ordinarily set in base routes.py
>>> default_controller = 'default'  # ordinarily set in app-specific 
>>> routes.py
>>> default_function = 'index'      # ordinarily set in app-specific 
>>> routes.py
>>>
>>>
>>> BASE = ''  # optonal prefix for incoming URLs
>>>
>>> myapp = 'pyjeon'
>>>
>>> routes_in = (
>>>     # reroute favicon and robots, use exable for lack of better choice
>>>     ('/favicon.ico', '/static/favicon.png'),
>>>     ('/robots.txt', '/pyjeon/static/robots.txt'),
>>>     ('/sitemap.xml', '/pyjeon/static/sitemap.xml'),
>>>     (('.*http://rapydscript.pyjeon.com', '/' + myapp + 
>>> '/default/rapydscript')),
>>>     (('.*http://rapydscript.pyjeon.com/(?P<any>.*)', '/' + myapp + 
>>> '/default/rapydscript/\g<any>')),
>>>     (BASE + '/', '/' + myapp + '/default/index'),
>>>     # do not reroute admin unless you want to disable it
>>>     (BASE + '/admin', '/admin/default/index'),
>>>     (BASE + '/admin/$anything', '/admin/$anything'),
>>>     #setup static
>>>     (BASE + '/static/', '/' + myapp + '/static/index.html'),
>>>     (BASE + '/static/$anything', '/' + myapp + '/static/$anything'),
>>>     (BASE + '/appadmin', '/' + myapp + '/appadmin'),
>>>     (BASE + '/pyjeon/appadmin/$anything', '/' + myapp + 
>>> '/appadmin/$anything'),
>>>     (BASE + '/$app/$anything', '/' + myapp + '/default/$app/$anything'),
>>>     (BASE + '/$app', '/' + myapp + '/default/$app'),
>>>     # do other stuff
>>>     # remove the BASE prefix
>>>     (BASE + '/$anything', '/$anything'),
>>> )
>>>
>>> # routes_out, like routes_in translates URL paths created with the 
>>> web2py URL()
>>> # function in the same manner that route_in translates inbound URL paths.
>>> #
>>>
>>> routes_out = (
>>>     # do not reroute admin unless you want to disable it
>>>     ('/admin/$anything', BASE + '/admin/$anything'),
>>>     # do not reroute appadmin unless you want to disable it
>>>     ('/$app/appadmin/$anything', BASE + '/$app/appadmin/$anything'),
>>>     # do not reroute static files
>>>     ('/$app/static/$anything', BASE + '/$app/static/$anything'),
>>>     # do other stuff
>>>     (r'.*http://otherdomain.com.* /app/ctr(?P<any>.*)', r'\g<any>'),
>>>     (r'/app(?P<any>.*)', r'\g<any>'),
>>>     # restore the BASE prefix
>>>     ('/$anything', BASE + '/$anything'),
>>> )
>>>
>>>
>>>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to