Terminal: Reverse Proxy und die relativen URLs

Beitrag lesen

Moin!

Steh mit meinem ReverseProxy leider total an. Folgendes Problem:

www.berlakovich.net/quimby -> Klappt nicht (www.berlakovich.net/login.php)
www.berlakovich.net/quimby/ -> Klappt (www.berlakovich.net/quimby/login.php)

Sind ja auch zwei ganz unterschiedliche Ressourcen.

Das erste ist die Datei quimby im Hauptverzeichnis.

Das zweite ist das, was der Server so als Verzeichnisstandardseite auswirft, für das _Verzeichnis_ quimby (nicht Datei).

Man könnte den Server natürlich so konfigurieren, dass er beide URLs als gleichbedeutend ansieht und sich identisch verhält.

Außerdem habe ich ein Problem mit relativen URLs. So schickt mein PHP Programm z.b. ein Redirect mit Location: login.php, woraufhin der Client folgende Antwort bekommt: www.berlakovich.net/login.php obwohl es ja lauten müsste: www.berlakovich.net/quimby/login.php

Gibt es irgendeine Möglichkeit dies zu lösen ohne absolute URLs zu verwenden?

Nein. Der Location-Header muss ZWINGEND eine absolute URL enthalten, das ist im Standard so vorgeschrieben. Dass relative URLs auch funktionieren, ist eine reine Nettigkeit einzelner Server. Offenbar ist DEIN Server aber nicht so nett und demonstriert dir eindrucksvoll, warum es immer eine gute Idee ist, sich ganz konservativ 100% an die Buchstaben der RFCs zu halten, und an dieser Stelle keinem Individualismus zu frönen.

  • Sven Rautenberg

Problem daran ist, dass das ganze auch von innen erreichbar sein soll und von innen lautet die Adresse natürlich nicht www.berlakovich.net/quimby/. Insofern wäre natürlich ein passendes Rewrite bevor der ReverseProxy die Antwort an den Client zurückschickt toll. Leider kenn ich mich mit mod_rewrite nur bedingt aus... Oder gibt es eine andere Möglichkeit das mal abgesehen vom PHP Script zu ändern

lg