Bob: Rewrite: Optional Verzeichnis/Dateiendung

Beitrag lesen

Hab jetzt die Regel fertig:
RewriteRule ^(^.*/)([^/.]*)(.|)(.*)$ index.php?dir=$1&site=$2&typ=$4 [L]

Warum du zwei Mal ^ - also Beginn der Zeichenkette - hintereinander notierst, wird mir nicht ganz klar.

404 bei
-"dir/file"

Das dürfte wohl nicht erfüllt sein. Geht es eigentlich immer nur um eine Verzeichnisebene oder auch mehrere? Also foo/bar/file.ext

ich würde da eher

RewriteRule ^(.*/)(?:([^/.]*).([a-z]{2,4}))?$ index.php?dir=$1&site=$2&typ=$3 [L]

nutzen (RegEx ab apache 2.0, sonst musst du ?: entfernen und die letzte backreference auf $4 ändern).

Matched auf
foo/.ext
foo/bar.ext
foo/

(auch foo/bar/.ext etc.)