mod_rewrite RewriteRule

Diskutiere mit über: mod_rewrite RewriteRule im Web-Programmierung Forum

  1. id_profit

    id_profit Thread Starter MacUser Mitglied

    Beiträge:
    11
    Zustimmungen:
    0
    Registriert seit:
    09.05.2004
    Hallo,

    ich arbeite zur Zeit an einem Statistikmodul für meinen Blog. Dabei will ich überwachen, welche Besucher über die Einträge des RSS Feeds auf die Seite kommen. Dazu wird an die Links im Feed ein rss=true angehängt. Zusammen sieht ein Link dann so aus:

    index.php?id=P123&rss=true

    Normale Links sehen so aus:

    index.php?id=P123

    Falls ein User nun seinen ersten Aufruf als Bookmark speichert wird das rss=true mit gespeichert, was ich nicht haben möchte.

    Nun versuche ich das ganze mit mod_rewrite um zuschreiben. Die verwendete RewriteRule lautet:

    RewriteRule ^index\.php\?id=P([0-9]+)&rss=true$ index.php?id=R$1

    Doch leider tritt der gewünschte Effekt nicht auf. Wenn ich index.php?id=P123&rss=true in den Browser eingeben zeigt die Adressleiste nach dem Laden immer noch index.php?id=P123&rss=true an. Eine Fehlermeldung gibt es keine.

    Wenn ich alles über ein Redirect im PHP Skript abfackle, wird die Seite zweimal aufgerufen und damit auch zweimal gewertet. Was einer Statistik etwas abträglich ist.

    Kann mir jemand helfen?

    CU

    ID_profit
     
  2. Kruemel_ddorf

    Kruemel_ddorf MacUser Mitglied

    Beiträge:
    811
    Zustimmungen:
    2
    Registriert seit:
    17.02.2004
    hast du rewrite log aktiviert ???



    gruss
    Kruemel
     
  3. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    ich habe mod_rewrite noch nie benutzt und kann dazu nichts sagen. Was mir jedoch auffällt:

    (1) Ich würde die Daten per Post übertragen. Bei GET ist es zu einfach, die rss-Variable zu ändern. Für POST muß man schon etwas schlauer sein.

    (2) Nutzt Dir der HTTP_REFERER aus $_SERVER[] nichts ? Der müßte doch ausreichen oder ?
     
  4. Kruemel_ddorf

    Kruemel_ddorf MacUser Mitglied

    Beiträge:
    811
    Zustimmungen:
    2
    Registriert seit:
    17.02.2004
    Das einzige was mich ein bischen in der Rule wundert :

    RewriteRule ^index\.php\?id=P([0-9]+)&rss=true$ index.php?id=R$1


    ist das +)&rss=true$


    ich wuerde folgendes machen :


    RewriteRule ^index\.php\?id=P([0-9])$ index.php?id=R$1


    gruss
    kruemel
     
  5. id_profit

    id_profit Thread Starter MacUser Mitglied

    Beiträge:
    11
    Zustimmungen:
    0
    Registriert seit:
    09.05.2004
    Argh, stimmt. Nee habe ich nicht...

    Wenn der User den Link aus einem RSS Reader aufruft, gibt es ja keinen Referer. Ich sehe aber den Unterschied nicht, ob er die Adresse aus seinen Bookmarks nimmt oder aus dem RSS Reader.

    Stimmt, ich habe wohl wieder zu kompliziert gedacht. Nachdem ich gestern den Apache Rewrite Guide durchgelesen hatte, war ich komplett verwirrt...

    Danke für eure Hilfe

    ID_profit
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Da hab ich was gelernt, danke! Wußte ich nicht.
     
  7. Kruemel_ddorf

    Kruemel_ddorf MacUser Mitglied

    Beiträge:
    811
    Zustimmungen:
    2
    Registriert seit:
    17.02.2004
    Wer ist/wäre das nicht :D

    lass es uns wissen ob es funktioniert ....


    gruss
    Kruemel
     
  8. id_profit

    id_profit Thread Starter MacUser Mitglied

    Beiträge:
    11
    Zustimmungen:
    0
    Registriert seit:
    09.05.2004
    Lieder hat es so nicht funktioniert. Es scheint aber weniger am verwendeten Pattern zu liegen, als, dass mod_rewrite die angehängten Variablen in der Eingangsurl nicht zu beachten scheint. Egal, welche Variablen ich übergeben, alles nach dem ? wird nicht verarbeitet und führt immer zu folgendem Eintrag im rewrite log:

    127.0.0.1 - - [01/Nov/2004:18:59:08 +0100] [www.thenewsimplephotography.dev/sid#188ced8][rid#18c1e50/initial] (3) [per-dir /Users/mf/Sites/thenewsimplephotography/] applying pattern '^index\.php\?id=P([0-9])$ index.php?id=R$1' to uri 'index.php'

    Auch habe ich nirgends im Web ein Beispiel gefunden, das irgendwie wie meines geartet ist. Alle rewrites gehen von virtuelle Verzeichnisse hin zu Variablenübergabe an php Skripte.

    Ich muss wohl einen neuen Ansatz finden.

    CU

    ID_profit
     
Die Seite wird geladen...
Ähnliche Themen - mod_rewrite RewriteRule Forum Datum
mod_rewrite und Form-Umleitung Web-Programmierung 30.03.2013
Problem mit mod_rewrite und Authentifiziereung Web-Programmierung 28.12.2012
1und1 kein mod_rewrite? Wie kompetent sind die Techniker? Web-Programmierung 27.12.2010
mod_rewrite bei 1&1 Web-Programmierung 10.12.2009
mod_rewrite erfindet "php" Web-Programmierung 29.10.2009

Diese Seite empfehlen

Benutzerdefinierte Suche