Seite 1 von 1

url-dispatching und "einhängepunkte"

Verfasst: Dienstag 12. Dezember 2006, 13:17
von keppla
Hallo Forum!

Ich schreibe gerade eine kleine WSGI-Applikation.
Meine Recherchen haben ergeben, dass URL-Dispatching üblicherweise durch das Zerlegen von environ['PATH_INFO'] getan wird, also hab ich das auch mal so gemacht.
Jetzt möchte ich dem User allerdings nicht vorschreiben, wo er die Applikation veröffentlich, soll heissen, dass wenn der User z.B. einen Apache nutzt, und es so einbindet:

Code: Alles auswählen

<Location /a/prefix/path/>
   SetHandler python-program
   PythonHandler paste.modpython
   ...
</Location>
soll die Applikation nur den Teil nach /a/prefix/path beachten. Allerdings finde ich nirgendwo im Environ Variablen, die mir darüber eine Auskunft geben.
Gibt es da eine Möglichkeit, die am besten noch Serverunabhängig ist, oder muss man das per Konfiguration durch den User lösen?

Verfasst: Dienstag 12. Dezember 2006, 16:14
von mitsuhiko
Das WSGI Gateway versuchert dir (wenns nicht kaputt ist), dass der Teil (/a/prefix/path) im SCRIPT_NAME steckt, der Teil danach im PATH_INFO.

Verfasst: Dienstag 12. Dezember 2006, 16:33
von keppla
Das WSGI Gateway versuchert dir (wenns nicht kaputt ist), dass der Teil (/a/prefix/path) im SCRIPT_NAME steckt, der Teil danach im PATH_INFO.
Dann scheint es kaputt zu sein. Ich benutze Paste, und Paste gibt als PATH_INFO immer alles links von letzten slash zurück, SCRIPT_NAME alles rechts davon.

Verfasst: Dienstag 12. Dezember 2006, 16:35
von mitsuhiko
keppla hat geschrieben:
Das WSGI Gateway versuchert dir (wenns nicht kaputt ist), dass der Teil (/a/prefix/path) im SCRIPT_NAME steckt, der Teil danach im PATH_INFO.
Dann scheint es kaputt zu sein. Ich benutze Paste, und Paste gibt als PATH_INFO immer alles links von letzten slash zurück, SCRIPT_NAME alles rechts davon.
Dann würde ich einen bug filen.

Verfasst: Dienstag 12. Dezember 2006, 17:04
von keppla
Ich bin mir da jetzt etwas unsicher. Ich habe gerade eben PEP 333 gelesen, und stimme dir dementsprechend zu, dass der rechte Teil in PATH_INFO, der linke in script_name sein sollte.

Allerdings scheint es normal zu sein, nur PATH_INFO zu betrachten, colubrid z.B. scheint es auch so zu machen.

Wenn es ein Bug ist, so ist er zumindest konsensfähig ;)