Roger Wilco wrote:Du darfst natürlich kein + dahinter schreiben, wie du es in deinem Beispiel oben gemacht hast, sonst werden auch alle Fälle mit mehr als 6 Zeichen gematched.
Das war aber auch schon vorher so und bezieht sich dann auf ein Mehrfaches von 6.
Um es einfach mal deutlich zu machen:
Code: Select all
RewriteCond %{REQUEST_URI} ^/test/[0-9]{6}/.+.htm$
Das '(.*)+' aus obigem Beispiel ist ebenfalls etwas redundant. Kannst Du wie bei mir dargestellt abkürzen.
Das wäre meines erachtens nach der reguläre Ausdruck, der meines Wissens nach korrekt ist (auch wenn ich von der Zeile selbst keine Ahnung hab was die machen soll)
Jedenfalls match '[0-9]{6}' definitiv 6 _ziffern_
Edit: Ich weiss nicht, warum die '(' und ')' bei Dir immer vorhanden sind. Normalerweise nimmt man die '()' nur, wenn man auf den gematchten Kontext im Nachhinein zugreifen möchte. Sollte mein obiges Beispiel evtentuell wegen fehlenden Klammern nicht gehen, ist dieser Ausdruck equivalent
Code: Select all
RewriteCond %{REQUEST_URI} ^/test/([0-9]{6})/(.+).htm$