TL: URI auslesen (Browserangabe)

Hallo zusammen!

Ich möchte gerne die URI auslesen, die gerade ausgeführt wird. Ich weiß, ich weiß: $_SESSION und parse_url(). Aber das funktioniert in meinem Fall leider nicht!

Folgende Situation: Ich habe ein 1&1-Paket mit 3 Domains, diese greifen alle auf "/." zurück. Wenn ich $_SESSION auslese, habe ich bei allen drei Domains die exakt selben Angaben für $_SESSION-Werte (außer UNIQUE_IDs), nämlich die für die "Referenz"-Domain.

www.meine-domain.de/test/gibesaus.php
www.meine-domain.com/test/gibesaus.php
www.meine-domain.org/test/gibesaus.php

liefern jeweils das gleiche bei [SCRIPT_URI], [SCRIPT_FILENAME], [REDIRECT_SCRIPT_URI], [DOCUMENT_ROOT], [PATH_TRANSLATED], etc.

Nun, wie kann ich herausfinden, welches die aktuelle Domain ist?

Vielen Dank für Antworten!
Tillmann

  1. Hi,

    Ich möchte gerne die URI auslesen, die gerade ausgeführt wird. Ich weiß, ich weiß: $_SESSION und parse_url().

    nein, $_SERVER. Was hat die aufgerufene URI mit einer persistenten Datenspeicherung zu tun?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Cheatah,

      » nein, $_SERVER. Was hat die aufgerufene URI mit einer persistenten Datenspeicherung zu tun?

      TIPPFEHLER! Ich meinte natürlich $_SERVER ;)

      Irgend eine Idee?

      Danke, TL

  2. echo $begrüßung;

    Ich möchte gerne die URI auslesen, die gerade ausgeführt wird. Ich weiß, ich weiß: $_SESSION und parse_url(). Aber das funktioniert in meinem Fall leider nicht!

    $_SERVER enthält keinen Wert mit der kompletten aufgerufenen URI. Diese Angabe steht so nur in der Adresszeile der Browsers. Zur Übermittlung mittels HTTP wird diese Angabe in Einzelteile aufgeteilt und die lassen sich in $_SERVER finden.

    liefern jeweils das gleiche bei [SCRIPT_URI], [SCRIPT_FILENAME], [REDIRECT_SCRIPT_URI], [DOCUMENT_ROOT], [PATH_TRANSLATED], etc.

    Hast du dir mal den kompletten Inhalt von $_SERVER anzeigen lassen? (print_r() mit vorangehendem <pre>) Auch phpinfo(INFO_VARIABLES) zeigt ihn an. Wie wäre es mit HTTP_HOST?

    echo "$verabschiedung $name";

    1. echo ("Hallo!");

      Doah! Ich habe mich wohl verguckt. Zwar erscheinen in [SCRIPT_URI] und [*REDIRECT*_SCRIPT_URI] die .com-URI, aber im [HTTP_REFERER] ist es die "richtige". Problem also gelöst ... Manchmal hilft es, die Tomaten aus den Augen zu nehmen.

      Trotzdem danke an alle!

      Grüße,
      echo $my_name;

      1. Hallo,

        aber im [HTTP_REFERER] ist es die "richtige". Problem also gelöst ...

        ja, vorausgesetzt, deine Besucher sind so freundlich, ihre Browser immer einen Referrer mitsenden zu lassen, der dann auch noch genau die Information enthalten muss, für die er ursprünglich mal gedacht war.

        Ziemlich wacklige Geschichte. Viele Proxies, Firewalls etc. filtern den Referrer aus, in manchen Browsern kann man ihn von vornherein abstellen, manche Desktop-Firewalls missbrauchen ihn, um irgendeinen Blödsinn (z.B. Werbung) reinzuschreiben, und ein paar Privacy Tools schreiben einfach nochmal dieselbe URL rein, die mit dem Request gerade angefordert wird, damit ein Referrer-Check immer ein "OK" meldet.

        Du begibst dich also auf sehr dünnes Eis, wenn du ausgerechnet diese Information auswertest.

        Übrigens: Wenn du den "richtigen" Hostnamen im Referrer findest, dann bedeutet das, dass du nur eine Pseudo-Weiterleitung im Frameset hast - und der Besucher um die wahre URL betrogen wird (er sieht immer nur die Domain Root in der Adresszeile). Mit allen weiteren Problemen, die sich durch die Verwendung von Frames ergeben.

        Viel angenehmer für dich und deine Besucher wäre es, wenn du alle deine Domains per DNS-Eintrag auf denselben Webspace zeigen ließest.

        So long,
         Martin

        --
        Es gibt Tage, da gelingt einem einfach alles.
        Aber das ist kein Grund zur Sorge; das geht vorbei.