Dennis Plöger: herauslinken aus CGI-BIN Verzeichnis

Hallohallo an alle!

Ich habe folgendes allgemeines Problem (über das ich leider nichts im Archiv gefunden habe ;-)):

Wenn ich ein CGI-Script im CGI-BIN-Verzeichnis aufrufe und in diesem HTML-Code ausgebe, in dem auch
ein Link vorhanden ist, sollen diese Links nicht auf Seiten im CGI-BIN-Verzeichnis zeigen sondern auf
die im Ursprungsverzeichnis!
Mit chdir ("..") geht das irgendwie nicht! Es würde wahrscheinlich gehen mit "<a href="../..." , aber ich
möchte nachher keine absoluten Links haben!!
(Ganz schön verwöhnt, he?)

Habe ich irgendwas falsch gemacht? Fehlt was? _Versteht_ ihr mich überhaupt???

Danke euch!
Dennis

  1. Hi Dennis

    Habe ich irgendwas falsch gemacht? Fehlt was? _Versteht_ ihr mich überhaupt???

    Ich denke, Du hast nichts falsch gemacht. Und ich verstehe es auch, denn ich hatte dasselbe Problen ;-).
    Aber Dir wird nichts anderes übrigbleiben, als in dem ausgegebenen HTML-Code die Links mit <a href="http://www..." anzugeben. Relative Links gehen nur, wenn Du vom Browser die Seite aufgerufen hast. Dann ist das aktuelle Verzeichnis das HTML-Verzeichnis. Dort kannst Du dann "../.." u.s.w. anwenden. Gibt ein CGI die Daten aus, dann ist Dein CGI-Verzeichnis das aktuelle und Du müsstes "rückwärts" bis zur root und dann wieder bis zu Deinem HTML-Verzeichnis den Pfad angeben: ../../../../user/name/index.html oder so. Das geht auch nur, wenn CGI und HTML auf ein und derselben Maschine liegen, was auch nicht bei allen Providern der Fall ist.

    Gruß Frank

    1. Danke Frank!

      Dann werde ich wohl das Dateikonzept nocheinmal neu überlegen müssen... :,-( !

      Grüsse,
      Dennis

  2. Wenn ich ein CGI-Script im CGI-BIN-Verzeichnis aufrufe und in diesem HTML-Code ausgebe, in dem auch
    ein Link vorhanden ist, sollen diese Links nicht auf Seiten im CGI-BIN-Verzeichnis zeigen sondern auf
    die im Ursprungsverzeichnis!

    Das in diesem Forum verwendete Skript hat genau dasselbe Problem (wenn Du in einer Bestätigungsanzeige eines Beitrags auf einen darin eingefügten Link klickst, dann wird dieser ggf. relativ zum CGI-Pfad ausgeführt).
    Ich würde daher empfehlen, absolute Pfade zu verwenden. Du kannst diese ja aus einem Präfix (Verzeichnispfad) und einem Postfix (lokaler Dokumentname) zusammensetzen; wenn Du dann noch den Präfix im CGI-Source ganz oben in einem "Konfigurationsabschnitt" definierst, ist er bei weiteren Installationen leicht (und an einer einzigen Stelle) anzupassen. (So funktionieren alle Skripte auf dem Server hier.)