Variable in RewriteCond-Pattern verwenden


Monti

Mitglied
Hallo Community,

ich möchte über .htaccess eine Umleitung ausführen, wenn kein Cookie mit dem gleichen Namen wie die aktuelle Domain (HTTP_HOST) und dem Wert "1" existiert.

Folgendes funktioniert problemlos, ich werde also bei vorhandenem Cookie nicht umgeleitet:
Code:
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !^irgendwas\.example\.com=1;? [NC]
RewriteRule .* http://neue.adresse.com [NC,L]

Möchte ich aber die hier noch harte Domain dynamisch machen, funktioniert es nicht mehr. Ich werde immer umgeleitet, mit oder ohne Cookie:
Code:
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !^${HTTP_HOST}=1;? [NC]
RewriteRule .* http://neue.adresse.com [NC,L]

Offenbar wird die Variable ${HTTP_HOST} in dem Pattern nicht berücksichtigt. Wie kann ich das ermöglichen?

Vielen Dank im Voraus.
 

Monti

Mitglied
Für diejenige/denjenigen, die/der ebenfalls mal danach sucht, hier die Lösung:
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST}!%{HTTP_COOKIE} !^(.+)\!(.*)?\1=1;? [NC]
RewriteRule .* http://neue.adresse.com [NC,L]

Der Trick ist, beide zu vergleichenden Variablen auf der linken Seite der Bedingung zu haben, da auf der rechten Seite keine Variablen verwendet werden können.
 

Neue Beiträge