Peter Kaufmann: mod_rewrite: path/12 zu path.cgi?x=12

Beitrag lesen

Hallo Cheatah,

RewriteRule ^stufe/([0-9]+)$ stufe.cgi?n=$1 [L]

Und hier sagst Du, dass nach /test und vor stufe/ nicht ein einziges Zeichen mehr stehen darf.

das scheint mir nicht das eigentliche Problem zu sein: Der Aufruf wird ja schließlich auf stufe.cgi umgeleitet. Ich habe jetzt noch folgende Varianten durchprobiert:

  1. RewriteRule ^/stufe/([0-9]+)$ stufe.cgi?n=$1 [L]
  2. RewriteRule ^/?stufe/([0-9]+)$ stufe.cgi?n=$1 [L]
  3. RewriteRule ^.*stufe/([0-9]+).*$ stufe.cgi?n=$1 [L]

... funktionieren tun sie aber alle nicht (selbst nicht (3)!). Der Verdacht liegt nah, daß das an dem  / liegt. Dafür spricht auch:

  1. RewriteRule ^stufe([0-9]+)$ stufe.cgi?n=$1 [L]
    * mit dem Aufruf example.org/test/stufe23 liefert stufe.cgi den Wert 23.

Nicht wie gedacht funktionieren hingegen:

  1. RewriteRule stufe.([0-9]+) stufe.cgi?n=$1 [L]

* example.org/test/stufe23 liefert 3 --- logisch
* example.org/test/stufeX23 liefert 23 --- auch logisch
* example.org/test/stufe/23 liefert nichts --- verstehe ich nicht

In /test existiert übrings kein Verzeichnis stufe.

Ich vermute das Problem jetzt irgendwie in der Serverkonfiguration. Hat jemand eine Idee womit der Effekt zuammenhängen könnte? Anmerken sollte ich vielleicht noch, daß mein Beispiel so nicht ganz korrekt ist: Eigentlich rufe ich ich.example.org/test/stufe auf und nicht example.org/test/stufe.

Trotzdem erst mal danke so weit!

Peter

--
exp(i * PI) + 1 = 0