.htaccess - Variable kann nicht erkannt werden.

  • Hallo

    Ich habe eine htaccess-Datei die so aussieht:

    Apache Configuration
    RewriteEngine On
    
    
    RewriteRule ^datei/(.*)/(.*)$ datei.php?anrede=$1&name=$2 [L,NS]

    Wenn ich nun unter der URL http://meineseite.de/datei/Herr/Meier versuche die Seite aufzugreifen, kann in der Datei "datei.php" die Session bzw. $_SESSION['name'] = $_GET['name']; nicht gesetzt werden. Wenn ich die Seite aber normal aufrufe, wird sie gesetzt.

    Das liegt daran dass die Variable nicht erkannt wird.

    Weiss jemand wie ich das umsetzen kann?

  • mach mal ein

    Code
    var_dump($_GET);


    in der datei.php, um zu sehen, welche get-parameter ankommen.

    Ich vermute mal, dass da "Herr/Meier" übergeben wird.
    Versuche mal das hier:

    Apache Configuration
    RewriteRule ^datei/([\w+])/([\w+])$ datei.php?anrede=$1&name=$2 [L,NS]

    Gruß,
    Jojo


  • Also durch var_dump($_GET); bekomme ich überhaupt keine Ausgaben. Und mit der ([\w+])-Methode bleibt leider auch alles beim gleichen :-?

  • Zitat von Shyne

    Also durch var_dump($_GET); bekomme ich überhaupt keine Ausgaben. Und mit der ([\w+])-Methode bleibt leider auch alles beim gleichen :-?

    Hm? Da müsste mindestens ein

    Code
    array(0) { }


    ausgegeben werden, sonst liegt da noch was ganz anderes im Argen.
    und es muss natürlich
    [code]
    ([\w]+) heißen, mein Fehler.

    Gruß,
    Jojo


  • Hmm ... ich weiss eigentlich gar nicht warum es bei dir funktioniert. Ich hab das ganze gerade noch in einer Testdatei ausprobiert und auch da bekomme ich die selbe Ausgabe.

  • No0ob doch, ist absolut richtig.

    Jojo es lag weder an dem (.*), noch an der Verzeichnisstruktur. Ich hab das Problem nun mit Options -MultiViews gelöst.

    Danke trotzdem.

  • ja No0ob, und da er den aufruf

    Code
    http://meineseite.de/datei/Herr/Maier


    auf

    Code
    ^datei/(.*)/(.*)$


    prüfen lässt,
    geht es nicht, da nun mal "http://" am Anfang steht und nicht "datei".
    Shyne: lade dir mal den regex-coach, damit kannst du deine regulären Ausdrucke testen.
    Der oben von mir genannte wird dort als gültig auf den Teststring

    Code
    http://meineseite.de/datei/Herr/Meier


    angezeigt.

    Gruß,
    Jojo