D.R.: URI auslesen

Hallo,

ich habe mal gelesen, dass man für eine Weiterleitung per header-location immer einen vollständigen URI braucht. Relative Verlinkung ist also nicht möglich. Das ist aber problematisch, wenn ich meine Webseiten sowohl auf meinem localhost, als auch auf anderen Servern betrachten möchte.

Meine Frage: gibt es in PHP eine Möglichkeit den URI der aktuellen Seite auszulesen? Wenn ja, wie? Ich habe einfach nichts gefunden :-(

mfg. Daniel

  1. Hallo,

    Meine Frage: gibt es in PHP eine Möglichkeit den URI der aktuellen Seite auszulesen? Wenn ja, wie? Ich habe einfach nichts gefunden :-(

    Die Dokumentation hat ein sehr schönes Beispiel:
    http://de3.php.net/manual/de/function.header.php

    Gruß,
    Severin

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
    -- Benjamin Franklin
    1. Hallo,

      Meine Frage: gibt es in PHP eine Möglichkeit den URI der aktuellen Seite auszulesen? Wenn ja, wie? Ich habe einfach nichts gefunden :-(

      Die Dokumentation hat ein sehr schönes Beispiel:
      http://de3.php.net/manual/de/function.header.php

      (Auch an Pablo)
      Ah, danke. Das ist genau das, was ich brauche :-)

      Das Array „$_SERVER“ kannte ich noch nicht.

      mfg. Daniel

  2. Ahoi,

    ich habe mal gelesen, dass man für eine Weiterleitung per header-location immer einen vollständigen URI braucht.

    Bei HTTP/1.1 trifft das zu.

    Meine Frage: gibt es in PHP eine Möglichkeit den URI der aktuellen Seite auszulesen? Wenn ja, wie? Ich habe einfach nichts gefunden :-(

    Auf der Doku von php.net gibt es ein eigenes Beispiel dazu:

    Note:  HTTP/1.1 requires an absolute URI as argument to Location:  including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF']  and dirname() to make an absolute URI from a relative one yourself:

    <?php  
    /* Redirect to a different page in the current directory that was requested */  
    $host  = $_SERVER['HTTP_HOST'];  
    $uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');  
    $extra = 'mypage.php';  
    header("Location: http://$host$uri/$extra");  
    exit;  
    ?>
    

    Gruß,
    Pablo

    --
    ie:% fl:| br:^ va:) ls:[ fo:) rl:? n4:( ss:) de:> js:| ch:? sh:( mo:) zu:)
    Aarakast.de