如何在Google App Engine(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子类,该子类知道如何处理多个主机。