WSGIのすべては、現在のリクエストに関連しています。セットアップを適切に行う必要がありますenviron(通常はWSGIサーバーによって)。
たとえば、Webアプリケーションは、の/projects場合、サブパスにマウントされていることを認識しますrequest.environ['SCRIPT_NAME'] == '/projects'。アプリケーションがマウントポイントに依存しないようにする場合は、でビューを提供するかのようにアプリケーションをコーディングするだけです/foo/bar。/projects次に、適切に変更できるミドルウェアを介してアプリケーションをマウントしますenviron(mod_wsgiおよびその他のサーバーはこれを自動的に実行できるはずです)。これで、受信URLが/projects/foo/barとenviron['SCRIPT_NAME'] == '/projects'でenviron['PATH_INFO'] == '/foo/bar'あり、アプリが相対パスに焦点を合わせることができます。
Pyramidでは、これは、WSGIスタックにプレフィックスミドルウェアを追加するiniの追加のステップに要約されます。ミドルウェアは、のキーPATH_INFOとSCRIPT_NAMEキーの変更を処理environします。
[app:myapp]
use = egg:myapp
# ...
[filter:proxy-prefix]
use = egg:PasteDeploy#prefix
prefix = /projects
[pipeline:main]
pipeline =
proxy-prefix
myapp