Moin!
Hallo Linuchs,
ok, ich kann Verzeichnisse ausschließen:
RewriteRule ^(img)($|/) - [L]
Warum nicht Dateiendungen?
RewriteRule \.[Jj][Pp][Ee]{0,1}[Gg]$ - [L]
Frisst alles was auf .jpg, .jpeg (auch mit großen Buchstaben) endet.
Odern noch besser: existierende Dateien ausnehmen? Ok. Das ist, weil der Server nachsehen muss, durchaus "teuer":
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ - [L]
Da ich mich mit htaccess überhaupt nicht auskenne, weiß ich auch nicht wirklich was diese Zeile alles macht
Dein Mut zur Wissenslücke ist echt bewundernswert. Und Dein Glück auch. Du hast ja geschrieben, Du bzw. Deine Firma habe noch Kunden.
RewriteRule ([^/]*)/([^/]*)/([^/]*)$ a-hersteller-serie-geraet.php [l]
Die Werte aus den rundem Klammern benutzt Du nicht auf der rechten Seite. Kannst diese also genau so gut weglassen und Speicher sparen. Der Server wird Dir das danken, wenn eine DDoS-Atacke läuft oder ein Crawler durchdreht.
RewriteRule [^/]/[^/)/[^/*$ a-hersteller-serie-geraet.php [l]
- Hinten steht ein $. Das ist das Symbol für Ende des Strings. Der Anfang ist nicht ggegeben. Was wir uns merken.
- Rest [^/]/[^/)/[^/]*
- Vor dem Ende dürfen "*" -> kein, ein oder mehrere beliebeige Zeichen stehen die "[^/]" -> kein Slash sind.
- Davor ein Slash.
- Vor dem eben genannten Slash dürfen "*" -> kein, ein oder mehrere Zeichen stehen die "[^/]" -> kein Slash sind.
- Vor dem eben genannten Slash dürfen "*" -> kein, ein oder mehrere Zeichen stehen die "[^/]" -> kein Slash sind.
Anders ausgedrückt: Irgendwas mit mindestens 2 Slachs, vor und zwischen denen irgendwas oder auch nichts steht. ** Anders ausgedrückt:** Der Regex gehört kauterisiert und durch etwas, ersetzt, dessen Funktion bekannt ist und der Aufgabe gerecht wird.
aber nun funktioniert es.
Halte ich für Zufall. Besonders wenn alles noch gehen sollte.
Jörg Reinholz