2014-04-13 41 views
0

我有Apache服务器运行两个应用程序,用python编写的php。这个php应该是根URL上的服务器,即localhost。 Python应用程序是一个安静的应用程序,应该在localhost/api/之下。在单独的文件Python应用程序,在那里我有这条线的如何在同一个主机/端口上配置两个不同的webapps与Apache协同工作?

我协confuguration:

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应用程序,它公开的网址,从api开始......

所以,我想mod_rewrite

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

但是这也行不通。有任何想法吗?

回答

0

从内存,使用:

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

的“/ API”到给定为最后一个参数引起的mod_wsgi调整SCRIPT_NAME传递给WSGI应用程序的文件路径的端部的添加和丢弃“/ api'并将其添加到PATH_INFO中。因此,应用程序将获得完整的URL以进行路由。

0

如果您有WSGIScriptAlias /api /home/user/my_app/deployment/deployment/wsgi.py,那么Python应用程序应可在/api而不是/api/api/访问。

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

+0

让我们假设我不能将我的“高级根”留空,所以它总是必须是某种东西。 – mnowotka

+0

你可以发布你的wsgi.py吗? – Anoop

相关问题