如何配置两个不同的webapp在同一主机/端口上与Apache一起工作?

2024-06-01 10:16:40 发布

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

我让apache服务器运行两个应用程序,用python中的php编写。php应该是根url上的服务器,即localhost。Python应用程序是一个restful应用程序,应该在localhost/api/下。你知道吗

我在单独的文件中对python应用程序进行了混淆,其中有一行:

WSGIScriptAlias /api /home/user/my_app/deployment/deployment/wsgi.py

问题是,现在我的python应用程序可以在以下位置访问:

localhost/api/api/

我想要:

localhost/api

我可以将WSGIScriptAlias更改为:

WSGIScriptAlias / /home/user/my_app/deployment/deployment/wsgi.py

因为php应用程序无法访问。。。 另一方面,我不能修改python应用程序,它公开url,从api开始。。。你知道吗

所以我试着mod_rewrite

RewriteEngine On
RewriteRule ^/api(.*) /api/api/$1

但这也不行。有什么想法吗?你知道吗


Tags: py服务器apiapp应用程序localhosturlwsgi
2条回答

从内存中,使用:

WSGIScriptAlias /api /home/user/my_app/deployment/deployment/wsgi.py/api

将'/api'添加到作为最后一个参数给定的文件路径的末尾会导致mod\u wsgi调整传递给wsgi应用程序的脚本名称,并从中删除'/api',然后将其添加到路径\u INFO。因此,应用程序将获得要路由的完整URL。你知道吗

当您有WSGIScriptAlias /api /home/user/my_app/deployment/deployment/wsgi.py时,Python应用程序应该可以在/api而不是/api/api/访问。你知道吗

我猜是在python应用程序中,在它的配置文件中,您正在设置从/api提供服务的上下文根(我不知道确切的术语)。如果您在python应用程序配置中更改它/,那么它应该为您修复它。你知道吗

相关问题 更多 >