Christian Seiler: Apache mod_rewrite / mehrere Variablen übergeben

Beitrag lesen

Hallo,

ich habe das versucht (ohne Erfolg)
RewriteRule ^seite_[+0-9]_[+0-9].html$  seite.php?a=$1&b=$2

Ja, das kann nicht funktionieren.

[] matcht genau ein Zeichen, das alles sein kann, was zwischen den Klammern angegeben ist. Das heißt, [AB] matcht A oder B, [ABC] matcht A, B oder C. Das + hat *außerhalb* von [] die Bedeutung, dass das Zeichen vorher mehrfach vorkommen darf, d.h. A+ heißt "ein oder mehr A", B+ heißt "ein oder mehr B", [0-9]+ heißt "ein oder mehr Ziffern von 0 bis 9". + *innerhalb* von Klammern [] hat keine Bedeutung, d.h. [+A] heißt "ein zeichen, + oder A".

Kann man auch Strings übergeben?

z.B.:
seite_12_a12bc.html

Klar.

Da muss mann Bestimmt das [+0-9] erweitern.

Du meinst das ([0-9]+) - ja, klar, mach da einfach ein ([A-Za-z0-9]+) draus, dann funktionieren auch Buchstaben.

Ich schlage vor, Du liest Dir folgende Links zu regulären Ausdrücken durch, die sollten Deine Fragen klären:

http://regexp-evaluator.de/tutorial/
http://www.regular-expressions.info/

(Reguläre Ausdrücke sind auch außerhalb der Anwendungen von mod_rewrite enorm praktsich, lohnt sich also grundsätzlich, sich das mal anzusehen.)

Viele Grüße,
Christian