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.