kostenloser Webspace werbefrei: lima-city


.htaccess Refer geht verloren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kalle2908

    kalle2908 hat kostenlosen Webspace.

    Hallo alle Zusammen,

    ich habe ein Problem mit meiner RewriteRules

    In meinen PHP Dateien möchte ich die Refer ermitteln. Alle Dateien werden durch xxx.html aufgerufen und mit mod_rewrite auf index.php?page=xxx umgeleitet. Wenn ich dann die Variable $_SERVER[HTTP_REFFER] auslesen ist xxx.html der Refer. Gibt es irgendwie eine Möglichkeit das zu umgehen? gibt es evtl. ne Variable beim mod_rewrite mit der man den Refer ermitteln kann und als GET Variable übergeben kann?

    Ich hoffe, dass ihr mir bei meinen Problem helfen könnt.

    Viele Grüße
    Karl
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich habe in der Apache-Doku zu mod_rewrite folgendes Beispiel gefunden:
    Matches in the regular expressions contained in the RewriteConds can be used as part of the Substitution in the RewriteRule using the variables %1, %2, etc. For example, this will direct the request to a different directory depending on the hostname used to access the site:
    RewriteCond %{HTTP_HOST} (.*)
    RewriteRule ^/(.*) /sites/%1/$1
    If the request was for http://example.com/foo/bar, then %1 would contain example.com and $1 would contain foo/bar.

    Das sollte sich dann für deinen Zweck so in etwa umsetzen lassen:
    RewriteCond %{HTTP_REFFER} (.*)
    RewriteRule (.*)\.html$ index.php?page=$1&ref=%1
  4. Andere Idee, ich meine mal gelesen zu habnen, dass man in der .htaccess iwie PHP Variablen setzen kann.
    So genannte Umgebungsvariablen $_ENV.
    Habe ich jetzt leider nichts zu gefunden.

    Bin mir da allerdings nicht wirklich sicher.
  5. Andere Idee, ich meine mal gelesen zu habnen, dass man in der .htaccess iwie PHP Variablen setzen kann.
    So genannte Umgebungsvariablen $_ENV.
    Dass stimmt zwar (Stichwort SetEnv[if]), allerdings kann man in der RewriteRule-Direktive keine Umgebungsvariablen direkt aufrufen, daher der Umweg über RewriteCond mit Regex.
  6. Idee 2:
    Hast du relative oder absolute Pfade bei den Conditions?
    Bei relativen Pfaden sollte der Referer meiner Logik nach eigentlich bestehen bleiben.

    metalmachine schrieb:
    Andere Idee, ich meine mal gelesen zu habnen, dass man in der .htaccess iwie PHP Variablen setzen kann.
    So genannte Umgebungsvariablen $_ENV.
    Dass stimmt zwar (Stichwort SetEnv[if]), allerdings kann man in der RewriteRule-Direktive keine Umgebungsvariablen direkt aufrufen, daher der Umweg über RewriteCond mit Regex.

    Ich verstehe nicht so ganz was du sagen möchtest.
    Meine Idee war, Rewrite Condition abfragen und falls umgeleitet wird, dann wird eine Umgebungsvariable auf den aktuellen Referer gesetzt. Auf diese kann dann im PHP Script zugegriffen werden.
  7. lucas9991 schrieb:
    Meine Idee war, Rewrite Condition abfragen und falls umgeleitet wird, dann wird eine Umgebungsvariable auf den aktuellen Referer gesetzt. Auf diese kann dann im PHP Script zugegriffen werden.

    Bei einer Umleitung wird eine neue Anfrage vom Clienten erzwungen, womit alle Umgebungsvariablen verlorengehen. Der Referer muss daher bei der neuen Anfrage (in wie auch immer gearteter Form) mitgegeben werden.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!