Antwort an „Rolf B“ verfassen

Hallo Lucie,

in der RewriteCond wird eine Regex ("regular expression") angegeben. Die Regex-Syntax ist nicht ganz einheitlich, es gibt unterschiedliche Regex-Engines, aber OR ist in keiner Engine Teil der Syntax.

Apache verwendet PCRE (Perl compatible regular expressions). Hier sind ein paar Beispiele aus dem Apache Handbuch für die verwendete Regex-Syntax und Links zu Dokumentationen. Wir haben auch im Selfhtml-Wiki einen Artikel zu Regex. Der bezieht sich zwar auf JavaScript, aber die JS-Regexe sind Perl-ähnlich.

Wenn Du ein "ODER" haben willst, musst Du den | Operator verwenden. D.h. mit

RewriteCond %{REQUEST_URI} !(^/(Bilder|Fotos)) [NC]

müsste es funktionieren. Das bedeutet "NICHT (Bilder oder Fotos)".

Alternativ kannst Du auch zwei Bedingungen formulieren, das könnte verständlicher sein.

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/Bilder [NC]
RewriteCond %{REQUEST_URI} !^/Fotos [NC]
RewriteRule ^ https://www.test.test/ [R=301,L] 

RewriteConds sind UND-verknüpft, in dieser Formulierung steht da also "NICHT Bilder UND NICHT Fotos". Was nach den Gesetzen von de Morgan gleichbedeutend mit "NICHT (Bilder ODER Fotos)" ist.

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen