oxxner: Link abfangen (vor öffnen PHP-Script durchlaufen)

Hallo!

Kurzversion:
(Wie) kann ich einen Link abfangen um in durch ein PHP-Script laufen zu lassen bevor der Link geöffnet wird?

----------------------

Wer mag kann hier das Problem genauer studieren:

Verwendung: PHP-Proxy

Ausgangssituation:

  • Die Datei "proxy.php" liegt auf meinen Server
  • Die geladene Seite (include($url);) enthält relative Links

Fehler:

  • Bei Klick auf den Link sucht der Browser den Pfad auf meinem Server (http://www.MEINEurl.de/relativer-link)

Ziel:

  • Den Link abfangen um dann
    "http://www.MEINEurl.de/relativer-link"
    ersetzen durch
    "http://www.NEUEurl.de/relativer-link"

  • anschliessend wieder mit "include($NEUEurl);" laden

Bemerkungen:

  • Die Funktion um die URL zu ersetzen habe ich bereits

  • Ich brauche also nur noch eine Funktion die URL abzufangen bevor die Seite geladen wird

Im Voraus vielen Dank für jeden Hinweis!

  1. Yerf!

    • Ich brauche also nur noch eine Funktion die URL abzufangen bevor die Seite geladen wird

    Wenn du einen Apache als Webserver hast, solltest du dir mod_rewrite mal anschauen. Damit kannst du den Request am Server auf deine PHP-Datei lenken und die tatsächlich angeforderte URL als Parameter übergeben.

    Gruß,

    Harlequin

    1. Bonjour Harlequin

      Wenn du einen Apache als Webserver hast,

      Es ist ein Linux Server.

      Hast du auch dafür einen Vorschlag?

      Aufgrund deiner Antwort nehme ich also an, dass es nicht möglich ist, wie ich mir das vorgestellt habe (den Link direkt ans PHP-Script weiterzugeben)...?

      oxxner

      1. Yerf!

        Wenn du einen Apache als Webserver hast,
        Es ist ein Linux Server.

        Linux ist nur das Betriebssystem. Mit sehr hoher Warscheinlichkeit läuft da ein Apache als Webserver drauf.

        Aufgrund deiner Antwort nehme ich also an, dass es nicht möglich ist, wie ich mir das vorgestellt habe (den Link direkt ans PHP-Script weiterzugeben)...?

        Mit mod_rewrite schon. Evtl. gibt es auch noch andere Lösungen.

        Gruß,

        Harlequin

        1. hi,

          Linux ist nur das Betriebssystem.

          :-] wieder was gelernt...

          mit sehr hoher Warscheinlichkeit läuft da ein Apache als Webserver drauf.

          Wie kann ich das herausfinden/testen?
          (danach hör ich auf dich zu löchern) ;)

          vielen Dank...!

          1. Yerf!

            Wie kann ich das herausfinden/testen?

            Hm, ein kurzer Test mittels PHP (phpinfo();) sollte eigentlich die Serversoftware mit ausgeben.

            Gruß,

            Harlequin

  2. Ich würde auf jeder Seite, die dieses Problem betrifft, die proxy.php includen. Die wiederum fängt die URL ab, "parst" sie durch und trägt die neue URL in ein meta refresh tag ein,

    oder in ein Javascript location.href.

    Ich glaube includen allein nutzt nix, da die url die alte bleiben würde.

    Stephan