Meine .htaccess-Datei liegt im selben Ordner, in dem auch alle anderen Dateien liegen. Wenn jemand "http://www.test.com/ordner/xyz" aufruft, soll er auf: "http://www.test.com/ordner/datei.php?n=xyz" weitergeleitet werden.
Ich möchte alles im aktuellen Ordner, das nur die Zeichen "a-z0-9_-" enthält, auf "datei.php" umleiten und die gespeicherte Zeichenkette als Variable: "n" mit übergeben. Wenn ein Punkt in der Zeichenkette vorkommt, darf keine Umleitung passieren, da im selben Ordner auch meine anderen php-Dateien liegen, die direkt mit ihren tatsächlichen Namen aufgerufen werden sollen. (Die Variablen, die ich übergebe, sind Namen, mit denen ich Datensätze aus in einer MySQL-Datenbank abrufe. - Ich arbeite in dem Fall nicht mit IDs weil die Adressen "sprechende Namen" brauchen.)
Ich kann zwar immerhin trotz offensichtlich fehlerhafter Rewrite-Angaben noch zuverlässig alle anderen Seiten aufrufen, aber die Datei: "datei.php" wird nur gefunden, wenn ich sie direkt aufrufe. Es passiert also nicht die gewünschte Umleitung. Ich kapiere nicht, wo mein Denkfehler liegt und bin trotz ausdauernder Suche im Netz langsam mit meinem Latein am Ende.
Kann mir jemand von Euch einen Tipp geben warum meine unten zitierte .htaccess-Datei nicht tut, was ich damit erreichen möchte?
- Code: Alles auswählen
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9_-]+)/?$ datei.php?n=$1 [QSA,NC,L]


