python - subdominios - findsubdomains
Trabajando con subdominio en el motor de aplicaciones de google (2)
¿Cómo puedo trabajar con un subdominio en el motor de Google Apps (Python)?
Quiero obtener la primera parte del dominio y realizar alguna acción (manejador).
Ejemplo:
product.example.com -> enviarlo al manejador de productos
user.example.com -> enviarlo al manejador de usuarios
En realidad, usando la ruta virtual tengo este código:
application = webapp.WSGIApplication(
[(''/'', IndexHandler),
(''/product/(.*)'', ProductHandler),
(''/user/(.*)'', UserHandler)
]
Me gustó la idea de Nick, pero tuve un problema ligeramente diferente. Quería hacer coincidir un subdominio específico para manejarlo un poco diferente, pero todos los demás subdominios deberían manejarse igual. Así que aquí está mi ejemplo.
import os
def main():
if (os.environ[''HTTP_HOST''] == "sub.example.com"):
application = webapp.WSGIApplication([(''/(.*)'', OtherMainHandler)], debug=True)
else:
application = webapp.WSGIApplication([(''/'', MainHandler),], debug=True)
run_wsgi_app(application)
if __name__ == ''__main__'':
main()
WSGIApplication no es capaz de enrutamiento basado en dominio. En su lugar, necesita crear una aplicación separada para cada subdominio, como esto:
applications = {
''product.example.com'': webapp.WSGIApplication([
(''/'', IndexHandler),
(''/(.*)'', ProductHandler)]),
''user.example.com'': webapp.WSGIApplication([
(''/'', IndexHandler),
(''/(.*)'', UserHandler)]),
}
def main():
run_wsgi_app(applications[os.environ[''HTTP_HOST'']])
if __name__ == ''__main__'':
main()
Alternativamente, puede escribir su propia subclase de aplicación WSGIA que sabe cómo manejar múltiples hosts.