ChrisB: mod_rewrite - regular expression

Beitrag lesen

Hi,

Das Muster soll nicht enthalten:

  • dynamisch.php
  • alles mit index im Namen

Das Muster soll enthalten:

  • alles was mit .htm, .html, usw. endet
  • keine Endung hat.

Die aufgerufene Adresse soll dann an dynamisch.php übergeben werden.

Hier einer meiner Versuche.
RewriteRule ^[^d][^y][^n][^a][^m][^i][^s][^c][^h][^\.][^p][^h][^p](.*)\.html$ /dynamisch.php?b=$1 [QSA]
Aber kann man das auch kürzer formulieren?

Mit einem vorangestellten ! kannst du ein Pattern komplett negieren.
Allerdings kannst du dabei dann m.W. keine Back References benutzen - weil du ja nur Nicht-Treffer suchst, und keine Treffer.

Das könnte man machen, in dem man eine RewriteCond vor die Regel stellt (oder mehrere) - die kann abprüfen, ob bspw. der REQUEST_FILENAME nicht dynamisch.php lautet und nicht index enthält.

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?