Mod Rewrite und regex-Problem

Ich habe ein Problem

ich möchte mit Mod Rewrite die URLs verkürzen

Das funktioniert auch bis auf ein Problem. Ich möchte keine eingehenden Anfragen bearbeiten, die ein „.php“ am Ende haben.

meine Bedingung ist ^http://meinedomain/(.*)[^php]$

in meinen Tests in php greift diese Regel auch, aber das Ergebnis ist ein Zeichen kürzer als gewollt

aus
http://meinedomain/zwergenland

wird
zwergenlan

gefiltert.

Lasse ich die Bedingung [^php]$ am Ende weg, ist das Suchergebnis zwergenland wie gewünscht. Ich möchte mit [^php]$ Anfragen an scripte ohne Parameterübergabe ungefiltert durchlassen.

Hat jemand eine Lösung?

Hallo,

ich möchte mit Mod Rewrite die URLs verkürzen

Das funktioniert auch bis auf ein Problem. Ich möchte keine
eingehenden Anfragen bearbeiten, die ein „.php“ am Ende haben.

meine Bedingung ist ^http://meinedomain/(.*)[^php]$

[^php] Bedeutet „Ein Zeichen, das nicht p, h oder p ist“.

Einfacher ist es in dem Fall eine extra RewriteCond vor deiner RewriteRule einzuführen.

Grüße,
Moritz

Ginge das auch mit einem „?“ (einmal oder keinmal vorkommen)

^http://meinedomain/(.*)[^php]?$

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Ginge das auch mit einem „?“ (einmal oder keinmal vorkommen)

^http://meinedomain/(.*)[^php]?$

Du benutzt immer noch Zeichenklassen […] ohne sie zu verstehen, so wird das nichts.

Was spricht gegen eine extra RewriteCond?

Grüße,
Moritz