如何在谷歌应用引擎(python)中使用子域。
我想得到第一个域部分并采取一些行动(处理程序)。
例子:
__product.example.com->发送到产品处理程序
__user.example.com->发送给用户处理程序
实际上,使用虚拟路径,我有以下代码:

  application = webapp.WSGIApplication(
    [('/', IndexHandler),
     ('/product/(.*)', ProductHandler),
     ('/user/(.*)', UserHandler)
  ]

最佳答案

wsgiApplication无法基于域进行路由。相反,您需要为每个子域创建一个单独的应用程序,如下所示:

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()

或者,您可以编写自己的wsgiapplication子类,它知道如何处理多个主机。

关于python - 在谷歌应用引擎中使用子域名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/838078/

10-12 07:31