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