ChrisB: mod_rewrite klappt nicht

Beitrag lesen

Hi,

RewriteCond %{HTTP_HOST} !^https://www.klaus-mustermann.de/12.34.56/login.php$

Hier versuchst du, den kompletten URL gegen den Hostnamen (umgangssprachlich auch der „Domainname“) zu matchen – der Hostname ist aber nur ein Teil des URL.

www.klaus-mustermann.de ist der Hostname – ihn mit dem kompletten URL zu vergleichen, kann also nur mit einem nicht-Match enden.

Wie kann ich also die Abfrage so gestalten, dass nur dann RewriteRule in kraft treten soll, wenn beide Bedingungen nicht erfüllt sind?

Erst mal brauchst du die *korrekten* Bedingungen.
Der Hostname (und nur der) ist das eine, und ob HTTPS verwendet wird oder nicht, das andere.

In der Beschreibung zu RewriteCond¹ wird HTTPS explizit erwähnt – also lese dort noch mal nach, welchen Wert du diesbezüglich abfragen solltest.

(Und da es zwei verschiedene Bedinungen sind, wirst du auch zwei einzelne RewriteCond brauchen. Dass diese per Default mit einem impliziten AND verknüpft sind, steht ja ebenfalls dort.)

MfG ChrisB

¹ Link diesmal auf das Handbuch zu Apache Version 2.2, da 2.0 wie im anderen Dokument oben erwähnt gar nicht mehr maintained wird. Das macht aber bzgl. des Rewritings hier keinen nennenswerten Unterschied.

--
Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/