2014-04-13 2 views
0

나는 파이썬으로 PHP로 작성된 두 개의 애플리케이션을 실행하는 아파치 서버를 가지고있다. PHP는 루트 URL에 서버가 있어야합니다 (예 : localhost). Python 응용 프로그램은 편안한 응용 프로그램이며 localhost/api/ 아래에 있어야합니다. 나는이 라인이 별도의 파일에 파이썬 앱의동일한 호스트/포트에서 Apache와 작동하도록 두 개의 서로 다른 webapps를 구성하는 방법은 무엇입니까?

I의 Heep입니다의 confuguration :

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

문제는,이다 지금 내 파이썬 응용 프로그램에서 액세스 :

localhost/api/api/ 

내가 원하는 :

localhost/api 

나는 WSGIScriptAlias에 변경할 수 있습니다

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

의 PHP 응용 프로그램이 accesible되지 않을 것 때문에 ... 나는 api에서 시작 URL을 노출 파이썬 응용 프로그램을 수정할 수 없습니다 한편 ...

그래서 나는 mod_rewrite을 시도 :

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

하지만 이는 작동하지 않습니다. 어떤 아이디어?

답변

0

는 사용

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

마지막 인수가 SCRIPT_NAME이 WSGI 응용 프로그램에 전달 조정 mod_wsgi에 원인이로 주어진 파일 경로의 마지막에 '/ API'의 추가는하고 떨어질 '/ api '를 추가하고 대신 PATH_INFO에 추가합니다. 따라서 애플리케이션은 경로를 지정할 전체 URL을 얻습니다.

0

WSGIScriptAlias /api /home/user/my_app/deployment/deployment/wsgi.py이있는 경우 /api 대신 /api/api/에 Python 앱에 액세스 할 수 있어야합니다.

내 생각 엔 파이썬 응용 프로그램 내에 있습니다. 컨텍스트 루트 (정확한 용어를 모르겠다)를 설정 파일의 구성 파일에 넣어두면 /api에서 서비스를 제공합니다. 파이썬 응용 프로그램 구성에서 /을 변경하면 수정해야합니다.

메모리에서
+0

내 "콘텍 스 루트"를 비울 수 없으므로 항상 무언가이어야한다고 가정합시다. – mnowotka

+0

wsgi.py를 게시 할 수 있습니까? – Anoop