使用多个web应用程序重写Apache mod\u

2024-05-23 17:46:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个单独的CherrypyWeb应用程序,我已经写了,需要把它们都放在Apache的mod\u rewrite或类似的东西后面。需要在http://domain.com/WebApp1http://domain.com/WebApp2访问它们。到目前为止,我已经知道如何使用单个虚拟主机,但它只能在http://domain.com/访问。Apache的正确配置是什么?我是不是应该用别的东西而不是mod\u rewrite?你知道吗


Tags: commod应用程序httpdomainapache虚拟主机rewrite
1条回答
网友
1楼 · 发布于 2024-05-23 17:46:16

如果这两个应用程序是用cherrypy编写的,那么就可以避免使用mod\u rewrite。你知道吗

在cherrypy树中装入每个应用程序,如下所示:

import cherrypy

from webapp1 import WebApp1
from webapp2 import WebApp2

cherrypy.tree.mount(WebApp1, '/WebApp1')
cherrypy.tree.mount(WebApp2, '/WebApp2')
cherrypy.engine.start()
cherrypy.engine.block()

例如:

 import cherrypy

 class AppOne(object):
     def index(self):
         return 'Hi from app one!'
     index.exposed = True

 class AppTwo(object):
     def index(self):
         return 'Hi from app two!'
     index.exposed = True

 if __name__ == '__main__':
     cherrypy.tree.mount(AppOne(), '/app1')
     cherrypy.tree.mount(AppTwo(), '/app2')
     cherrypy.engine.start()
     cherrypy.engine.block()

或:

 import cherrypy

 class AppOne(object):
     def index(self):
         return 'Hi from app one!'
     index.exposed = True

 class AppTwo(object):
     def index(self):
         return 'Hi from app two!'
     index.exposed = True

 class Root(object):
     app1 = AppOne()
     app2 = AppTwo()

 if __name__ == '__main__':
     cherrypy.tree.mount(Root())
     cherrypy.engine.start()
     cherrypy.engine.block()
     # cherrypy.quickstart(Root()) # is the same

另一种选择是使用mod_proxy。你知道吗

相关问题 更多 >