RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?site=$1 [QSA,L] # Einzelnen Seiten umgeleiten RewriteRule ^Lindau-am-Bodensee$ /orte/lindau.php [R=301,L] RewriteRule ^lindau$ /orte/lindau.php [R=301,L]
Nun ist es so das die Seite "Lindau-am-Bodensee" nicht auf /orte/lindau.php umleitet.
Die Reihenfolge der Regeln spielt eine Rolle („The order in which these rules are defined is important - this is the order in which they will be applied at run-time.“), die URI "Lindau-am-Bodensee" erfüllt bereits die erste RewriteRule, weil jede URI diese erfüllt und die zusätzlichen RewriteCond dafür vermutlich auch, d.h. es gibt keine Datei oder Ordner diesen Namens. Also wird dort die URI auf "index.php?site=Lindau-am-Bodensee" umgeschrieben und da das L-Flag gesetzt ist, werden keine weiteren RewriteRule berücksichtigt (das würde auch nichts ändern, da diese ja nicht mehr matchen würden).