2017-04-19 2 views

Répondre

0

Dans toute application WSGI le environ['SCRIPT_NAME'] est très important ici. Il définit le chemin racine pour toutes les URL dans l'application. Le chemin complet est environ['SCRIPT_NAME'] + environ['PATH_INFO']. En supposant que vous avez bien fait les choses dans votre application (par exemple, request.route_url(..) génèrera des URL en utilisant ces informations), vous pouvez simplement remonter votre application ailleurs (la valeur par défaut SCRIPT_NAME est '') en lui indiquant qu'il doit s'agir d'autre chose.

Il y a plusieurs choses que vous pouvez faire en fonction de la façon dont vous déployez votre application (si elle est derrière un proxy, les choses sont légèrement plus complexes). Supposons que vous utilisez simplement une application pyramidale simple hébergée avec une serveuse. Vous pouvez déplacer votre application à l'aide du package rutter [1] qui correspond au chemin /myapp/* et envoyer toutes les demandes à votre application avec les codes SCRIPT_NAME (myapp) et PATH_INFO appropriés.

La configuration déclarative est la plus simple pour une application pyramidale. Il suffit d'installer rutter puis mettez à jour votre fichier INI pour monter votre application à /myapp préfixe:

[app:foo] 
use = egg:myapp#main 

[composite:main] 
use = egg:rutter#urlmap 
/myapp = foo 

note I renommé app:main à app:foo parce que vous ne pouvez avoir un composant wsgi nommé main et nous voulons que ce soit le composite.

[1] http://rutter.readthedocs.io/en/latest/#declarative-configuration-using-paste-deploy-ini-files