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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.